PHP文件上傳, 應(yīng)用非常普遍, 學(xué)習(xí)PHP就得會(huì)上傳文件, 這是一個(gè)必備知識(shí), 然對(duì)初學(xué)者來(lái)說(shuō), 這個(gè)上傳的過(guò)程就顯得稍微有些復(fù)雜了, 這里分享下詳細(xì)的上傳文件過(guò)程, 方便大家更好的學(xué)習(xí)應(yīng)用
1. 上傳表單頁(yè)面[注意不要忘記 form里面的 enctype="multipart/form-data"]
<form action="fileup_save.php" method="post" enctype="multipart/form-data"> <li>圖片名稱:<input type="text" name="names"></li> <li>上傳圖片:<input type="file" name="files"></li> <li><input type="submit" value="提交"></li> </form>
2. PHP接收頁(yè)面:
注意:判斷文件的大小, 文件的后綴, 及新的文件命名
$picname = ""; $files = $_FILES["files"]; if($files["size"] > 0){ //限制文件的大小 if($files["size"] > 2*1024*1024){ echo "<script>alert('最大上傳只能是2M');history.back();</script>"; die(); } //生成新的文件名 begin 防止上傳的文件名重復(fù) $arr = explode(".",$files["name"]); $max = count($arr)-1; $houzhui = $arr[$max]; //判斷文件后綴類型 $h = strtolower($houzhui); //轉(zhuǎn)換成小寫 $allowtype = ["jpg","jpeg","gif"]; if(!in_array($h,$allowtype)){ echo "<script>alert('文件格式不正確');history.back();</script>"; die(); } $picname = time() . rand(1,9999999) . "." . $houzhui; //生成新的文件名 end move_uploaded_file($files["tmp_name"],"./upload/".$picname); }