abstract: function getfileinfo($filename,$urlfile='./upcode',$hzarray=['jpg','png','gif','jpeg','text','html'],$filesize=10000){ //第一步判斷上次error碼如果全等于零
function getfileinfo($filename,$urlfile='./upcode',$hzarray=['jpg','png','gif','jpeg','text','html'],$filesize=10000){
//第一步判斷上次error碼如果全等于零
if ($filename['error'] === 0) {
$ext = strtolower(pathinfo($filename['name'],PATHINFO_EXTENSION));
//第二步獲取當前文件名后綴并且轉換
if (!in_array($ext,$hzarray)) {
return '非法文件';
}
//第三步判斷上傳內容是否超出$filesize
if (!$filename['size']>$filesize) {
return '文件內容過大超過指定范圍';
}
//第四步檢測文件類型是否是正規(guī)類型
if (!is_uploaded_file($filename['tmp_name'])) {
return '文件非法類型';
}
//第五步判斷當前目錄是否存在如果不存在則創(chuàng)建
if (!is_dir($urlfile)) {
mkdir($urlfile,0777,true);
}
//第六給文件名通過md5和時間戳生成唯一文件名拼接新的文件目錄
$uniName = md5(uniqid(microtime(true),true)).'.'.$ext;
$destname = $urlfile.'/'.$uniName;
//第七步判斷文件是否寫入成功
if (!move_uploaded_file($filename['tmp_name'],$destname)) {
return '文件上傳失敗';
}
return '文件上傳成功';
}else{
return '系統(tǒng)內部錯誤';
}
}
Correcting teacher:天蓬老師Correction time:2019-03-21 13:07:43
Teacher's summary:文件上傳有一個基本的流程, 只要按套路走就可以, 一定要理解這個原理