这是如何工作的
if($_FILES['SelectedFile']['type'] != 'image/png' or 'image/jpg' or 'image/gif' || 'image/jpeg'){
outputJSON('Unsupported filetype uploaded.');
}
我的文件是something.PNG并且它没有传递上面的if语句。我将代码更改为'image/PNG'
,因为它可能是大写问题,但事实并非如此。我想知道为什么。
修改
var_dump($_FILES['SelectedFile']['type'])
array(5) { ["name"]=> string(11) "Capture.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(24) "C:\xampp\tmp\phpE58A.tmp" ["error"]=> int(0) ["size"]=> int(7818) }
答案 0 :(得分:0)
试试这个:
$haystack = array("image/png","image/jpg","image/jpeg","image/gif");
if(!in_array(strtolower($_FILES['SelectedFile']['type']), $haystack){
outputJSON('Unsupported filetype uploaded.');
}
答案 1 :(得分:0)
你的表达不正确,应该是:
$type = $_FILES['SelectedFile']['type'];
if ($type != 'image/png' && $type != 'image/jpg' && $type != 'image/gif' && $type != 'image/jpeg') {
outputJSON('Unsupported filetype/uploaded');
}
或不会像在自然语言中那样在编程语言中分发。