2016-03-12 33 views
0
我目前使用的是上传CSV文件,但我使用的PATHINFO_EXTENSION代码,以防止任何其他类型的文件

提交(文件比其他类型的.csv)导入文件到MySQL数据库,并使用PATHINFO_EXTENSION

这是代码(与HTML):

http://pastebin.com/m8eNXAgE

我有以下问题:

==>我最初使用$文件= $ _FILES [ 'CSV'] [ 'tmp_name的值'];但基名随机上前和扩展是一个名为.tmp甚至认为我上传的文件是一个.csv 然后我把它改为$文件= $ _FILES [“CSV”] [“名”];但我得到了以下错误:

警告:fopen(computing.csv):未能打开流:没有这样的文件或目录在... 警告:fgetcsv()期望参数1是资源, ...

请任何人都可以解释和帮助问题的代码是什么,我一直在寻找了一段时间,并不能似乎找到一个解决方案。

任何帮助表示赞赏,谢谢。

+0

您可以用'的var_dump($ _ FILES)'为检查你的文件数组。和我fink'$ _FILES ['文件']'因为你输入名称文件'
'和邮政编码问题 – Naumov

回答

0

你应该真正使用$ _FILES [ 'CSV'] [ 'tmp_name的值'。这是PHP在服务器上分配给上传文件的名称。你可以在这里阅读更多:http://php.net/manual/en/features.file-upload.php

+0

当我使用$ _FILES ['csv'] ['tmp_name']我只得到一个随机文件名和一个.tmp扩展名,而不是原始文件的文件名和扩展名。我想检查原始文件的扩展名,以确保它的一个.csv – Redrooster46

+0

如果您想验证上传的文件具有“csv”扩展名,但是当您想要实际访问该文件,则应该使用“name”你需要通过“tmp_name”来访问它,因为这是存储它的地方(至少在你将它复制到别处之前)... – obe

相关问题