更正了对 PHP 中文件上传字段的变量引用


Correct variable reference to a file upload field in PHP

我正在尝试成功使用 PHP empty() 函数。目前我的脚本引用输入文件字段变量:

<input  class="fileUpload" name="flyer" type="file"  />

喜欢这个:

if (empty($_FILES['flyer']['name'])) {
//don't update the file 
}
else {
//update the file url
}
如果文件为 HEADER,则当前这会将

文件 URL 更新为 null 的值。问题可能是其他原因,但我认为这是我的变量参考。如何更正此问题以使empty函数正常工作?

如果是文件类型,那么你需要使用 $_FILES[-name-]['error'] 处理程序来检查文件的质量,检查 http://php.net/manual/en/features.file-upload.errors.php

忽略名称值,你想要的是

if ($_FILES['flyer']['error'] == 4) {
//// this file given was empty. 
}

除了 $_FILES['flyer']['error'] 之外,您还可以检查所需位置是否存在任何文件。

if(!file_exists($_FILES['flyer']['tmp_name']) || !is_uploaded_file($_FILES['flyer']['tmp_name'])) {
    echo 'No upload';
}

查看此链接以获取有关 is_uploaded_file() 的详细信息