在这里仍然掌握着PHP。我已经看到了类似的其他问题,但我无法弄清楚为什么我的回归是虚假的。我有一个表单,通过电子邮件发送文本和附加文件。表单按预期发送文件,但一旦我开始尝试验证文件类型,我开始只收到错误。为什么我的验证总是返回false?
SELECT Package_Code, Description, Duration, Site_Code
FROM tbl_Holiday_Details
INNER JOIN tbl_Site_Visted
ON tbl_Holiday_Details.Package_Code = tbl_Site_Visted.Package_Code
INNER JOIN tbl_Site_Visted
ON tbl_Site_Details.Site_Code = tbl_Site_Visted.Site_Code
}
答案 0 :(得分:2)
当您使用PHP更新多个文件时,每个文件的mimetype
都会进入$_FILES['userfile']['type'][$i]
变量。
在您的代码中,检查$_FILES['userfile']['type']
类型中是否存在$allowed
(数组)的值(并且这始终为false)。
您可以将代码更改为:
for($i=0; $i<$total; $i++) {
....
$file_type = $_FILES['upload']['type'][$i]; //returns the mimetype
....
if(!in_array($file_type, $allowed)) {
$error = True;
echo "Error: Only jpg, gif, png, and pdf files are allowed.<br />";
}
....
}