摘要:<?php//文件的上傳 function uploadfile($fileinfo,$uploadpath='upload',$allowExt=['png','jpg','jpeg','gif','txt','html'],$maxsize=2000000,$reslut=
<?php
//文件的上傳
function uploadfile($fileinfo,$uploadpath='upload',$allowExt=['png','jpg','jpeg','gif','txt','html'],$maxsize=2000000,$reslut=''){
switch($fileinfo['error']){
case 0 :
//獲取文件后綴
$ext=strtolower(pathinfo($fileinfo['name'],PATHINFO_EXTENSION));
//判斷后綴格式
if(!in_array($ext,$allowExt)){
return '文件類型非法上傳';
}
//判斷文件是否超過容量
if($fileinfo['size']>$maxsize){
return '文件超過容量';
}
//上傳目錄是否存在
if(!is_dir($uploadpath)){
mkdir($uploadpath,0777,true);
}
//指定上傳文件名
$newfile=md5(uniqid(time(true),true)).'.'.$ext;
//上傳文件是否為POST方式
if(!is_uploaded_file($fileinfo['tmp_name'])){
return '文件非法上傳';
}
//上傳文件
if(!move_uploaded_file($fileinfo['tmp_name'], $uploadpath.'/'.$newfile)){
return '文件上傳失??!';
}
break;
case 1 :
$reslut='上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。';
break;
case 2 :
$reslut='上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。';
break;
case 3 :
$reslut='文件只有部分被上傳。';
break;
case 4 :
$reslut='沒有文件被上傳。';
break;
case 6 :
$reslut='找不到臨時文件夾。';
break;
case 7 :
$reslut='文件寫入失敗。';
break;
default :
$reslut='不知明錯誤。';
}
if(!$reslut==''){
return $reslut;
}
return '文件上傳成功';
}
//文件下載
function downFile($filename){
header('Accept-Lenght:'.filesize($filename));
header('Content-Disposition:attachment;filename='.basename($filename));
readfile($filename);
}
批改老師:查無此人批改時間:2019-09-05 14:36:12
老師總結(jié):完成的不錯。思路很清晰,后綴名和文件大小,一定要判斷。繼續(xù)加油