abstrakt:function upload_file($fileInfo,$uploadpath='./upload',$allowExt=['png','jpg'],$maxsize=1000000){ if($fileInfo['error']===0){ //獲取上傳的文件后綴,判斷文件
function upload_file($fileInfo,$uploadpath='./upload',$allowExt=['png','jpg'],$maxsize=1000000){
if($fileInfo['error']===0){
//獲取上傳的文件后綴,判斷文件類型
$ext=strtolower(pathinfo($fileInfo['name'],PATHINFO_EXTENSION));
if(!in_array($ext, $allowExt)){
return '非法文件類型!';
}
//判斷文件大小
if($fileInfo['size']>$maxsize){
return '超出文件上傳的最大值!';
}
//判斷文件是否值用過http中以post方式傳遞的
if(!is_uploaded_file($fileInfo['tmp_name'])){
return '非法上傳!';
}
//將文件移到指定的目錄下,先要判斷是否有這個目錄
if(!is_dir($uploadpath)){
mkdir($uploadpath,0777,true);
}
//文件名轉(zhuǎn)換,避免有相同文件名來造成沖突
$uniName=md5(uniqid(mktime(true),true));//uniqid()生成唯一id,mktime()獲取當(dāng)前時間的微秒數(shù)
$dest=$uploadpath.'/'.$uniName.'.'.$ext;//拼接文件路徑
if(!move_uploaded_file($fileInfo['tmp_name'], $dest)){//move_uploaded_file移動文件,參數(shù):文件名,文件要移到的路徑
return '文件上傳失??!';
}
return '文件上傳成功!';
}else{
switch($fileInfo['error']){
case 1:
$res='上傳文件超過了php.ini中upload_max_filesize選項限制的值';
break;
case 2:
$res='上傳文件的大小超過了html表單中MAX_FILE_SIZE選項指定的值';
break;
case 3:
$res='文件只有部分被上傳';
break;
case 4:
$res='沒有文件被上傳';
break;
case 6:
case 7:
$res='系統(tǒng)錯誤';
break;
}
}
}
Korrigierender Lehrer:西門大官人Korrekturzeit:2019-03-03 16:35:07
Zusammenfassung des Lehrers:$allowExt這個變量在哪里定義的?代碼中貌似沒有啊