為什么我傳jpg格式圖片,顯示說是非法文件類型
<?php
header('content-type:text/html;charset=gbk');
$fileTnfo=$_FILES['myFile'];
$maxSize=2097152;
$allowExt=array('jpeg','jpg','png','gif','wbmp');
//判斷錯誤號
if($fileTnfo['error']==0){
//判斷上傳文件的大小
if($fileTnfo['size']>$maxSize){
exit('上傳文件過大');
}
$ext=pathinfo($fileTnfo['name'],PATHINFO_EXTENSION);
if(in_array($ext, $allowExt)){
exit('非法文件類型');
}
//判斷文件是否是通過HTTP POST方式上傳來的
if(!is_uploaded_file($fileTnfo['tmp_name'])){
exit('文件不是通過HTTP POST方式上傳來的');
}
//檢測是否為真實的圖片
$path='uploads';
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path, 0777);
}
//確保文件名唯一,防止重名產生覆蓋
$uniName=md5(uniqid(microtime(true),true)).'.'.$ext;
//echo $uniName;exit;
$destination=$path.'/'.$uniName;
if(@move_uploaded_file($fileTnfo['tmp_name'], $destination)){
echo'文件上傳成功';
}else{
echo'文件上傳失敗';
}
}else{
//匹配錯誤信息
switch($error){
case 1:
echo '上傳文件超過了PHP配置文件中的upload_max_filesize選項的值';
break;
case 2 :
echo '超過了表單MAX_FILES_SIZE限制的大小';
break;
case 3:
echo '文件被部分上傳';
break;
case 4:
echo '沒有選擇上傳文件';
break;
case 6:
echo '沒有找到臨時目錄';
break;
case 7:
case 8:
echo '系統錯誤';
break;
}
}
2016-08-27
if(in_array($ext, $allowExt)){
exit('非法文件類型');
}
代碼錯誤,你表示的是如果擴展名在你給定的數組就退出執行并且打印 ‘非法文件類型’。應該是
if(!in_array($ext, $allowExt)){
exit('非法文件類型');
}
表示不在給定的數組退出并且打印?