因此,基本上,我只是在尝试检查要上传的文件的正确文件扩展名。
我知道,这个问题之前已经在这里回答过几次,尽管我一直遇到相同的错误,并且对于这种情况的发生尚无解决方案或建议。
这是我的代码:
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
$ext = pathinfo($file, PATHINFO_EXTENSION);
if($ext != "csv")
{
$errors[] = "Sorry, but only CSV files are supported";
}
这是我的错误:
Warning: pathinfo() expects parameter 1 to be string
我现在已经尝试了3种其他替代方法,全部使用pathinfo()
。虽然,仍然显示完全相同的错误。
有人对为什么会这样有什么建议吗?
您的问题在这里:
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
$ext = pathinfo($file, PATHINFO_EXTENSION);
fopen
返回用于读取和写入文件的文件句柄,但是pathinfo
期望包含一个文件名的字符串(可选,带有路径),但是您正在为其提供文件句柄。
无论如何,您应该查看$_FILES['upload_csv']['name']
,它是文件的原始名称,然后从中提取文件扩展名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句