23

我很难使用$_FILES

我想检查文件上传字段是否为空,然后应用一个条件,如果文件上传为空,则脚本不会尝试上传文件。我该如何执行?

4

8 回答 8

43
if($_FILES["file"]["error"] != 0) {
//stands for any kind of errors happen during the uploading
} 

还有

if($_FILES["file"]["error"] == 4) {
//means there is no file uploaded
}
于 2012-09-04T22:14:21.683 回答
21

这应该工作

if ( ! empty($_FILES)) {...}
于 2012-04-10T21:55:14.640 回答
16

其他答案对我不起作用。所以我发布我的解决方案:

if($_FILES['theFile']['name']=='')
{
    //No file selected
}
于 2012-09-04T20:10:35.277 回答
11

这对我有用:

if ($_FILES['theFile']['tmp_name']!='') {
    // do this, upload file
} // if no file selected to upload, file isn't uploaded.
于 2015-04-30T20:11:58.370 回答
9

您可以使用UPLOAD_ERR_NO_FILE值:

function isset_file($file) {
    return (isset($file) && $file['error'] != UPLOAD_ERR_NO_FILE);
}

if(isset_file($_FILES['input_name'])) {
    // It's not empty
}

更新:由于发送$_FILES['input_name']可能会引发通知

function isset_file($name) {
    return (isset($_FILES[$name]) && $_FILES[$name]['error'] != UPLOAD_ERR_NO_FILE);
}

if(isset_file('input_name')) {
    // It's not empty
}
于 2015-02-04T18:58:40.167 回答
3

这个问题是重复的,但你的答案是is_uploade_file()函数。

于 2013-03-04T06:29:23.453 回答
2
if(!empty($_FILES['myFileField'])) {
    // file field is not empty..
} else {
    // no file uploaded..
}
于 2012-04-10T22:58:49.473 回答
1

要检查文件类型的输入是否为,您必须获取任何$_FILES数组并针对空数组进行检查。我在上面看到的只是检查一个无效的空字符串。 例子:

if($_FILES["your_field_name"]["size"] == [' '])
{
Perform your validation here•
}

我希望这有帮助。

于 2020-01-04T17:40:52.350 回答