【发布时间】:2015-11-16 14:56:05
【问题描述】:
我有一个包含大约 10 个字段的表单,最后一个是 imageUpload 字段,它不是必填字段。仅当填充了该字段时,我才尝试对文件进行 exif 检查。但是正如标题所述, !empty 在检查它是否已填充时失败,并且它只是继续,就像那里有一个文件一样,这当然会引发警告。 Warning: exif_imagetype(): Filename cannot be empty in
if(!empty($_FILES['imageUpload'])){
$allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$detectedType = exif_imagetype($_FILES['imageUpload']['tmp_name']);
$isImage = !in_array($detectedType, $allowedTypes);
if(!empty($isImage)){
$errormsg[] = 'This is not a valid image file.';
}
}
这是该字段的 var_dump。 array(1) { ["imageUpload"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }
那我做错了什么?
【问题讨论】:
-
$_FILES['imageUpload'] 不为空,它包含一堆空字符串 ["name"]=> string(0) "" ["type"]=> string(0) " " ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0)
-
如他所说。尝试在其中一个上检查为空。
标签: php forms file-upload