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);
}
