摘要: 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));
//第二步獲取當(dāng)前文件名后綴并且轉(zhuǎn)換
if (!in_array($ext,$hzarray)) {
return '非法文件';
}
//第三步判斷上傳內(nèi)容是否超出$filesize
if (!$filename['size']>$filesize) {
return '文件內(nèi)容過(guò)大超過(guò)指定范圍';
}
//第四步檢測(cè)文件類(lèi)型是否是正規(guī)類(lèi)型
if (!is_uploaded_file($filename['tmp_name'])) {
return '文件非法類(lèi)型';
}
//第五步判斷當(dāng)前目錄是否存在如果不存在則創(chuàng)建
if (!is_dir($urlfile)) {
mkdir($urlfile,0777,true);
}
//第六給文件名通過(guò)md5和時(shí)間戳生成唯一文件名拼接新的文件目錄
$uniName = md5(uniqid(microtime(true),true)).'.'.$ext;
$destname = $urlfile.'/'.$uniName;
//第七步判斷文件是否寫(xiě)入成功
if (!move_uploaded_file($filename['tmp_name'],$destname)) {
return '文件上傳失敗';
}
return '文件上傳成功';
}else{
return '系統(tǒng)內(nèi)部錯(cuò)誤';
}
}
批改老師:天蓬老師批改時(shí)間:2019-03-21 13:07:43
老師總結(jié):文件上傳有一個(gè)基本的流程, 只要按套路走就可以, 一定要理解這個(gè)原理