php上傳文件

gxfw 9年前發布 | 1K 次閱讀 PHP MySQL

    上傳圖片

注意:一定要添加這一句(enctype="multipart/form-data"),告訴瀏覽器上傳文件,服務器發送屬性提交數據按“二進制流方式處理”。  

<!--HTML頁面開始-->  

<form action="upl.php" method="post" enctype="multipart/form-data">  
頭像<input type="file" name="tupian" value="" />  
<input type="submit" value="上傳" />  
</form>  
<!--HTML頁面結束-->  

預定義變量$_FILES數組有5個內容:  
$_FILES['userfile']['name']——客戶端機器文件的原名稱  
$_FILES['userfile']['type']——文件的 MIME 類型  
$_FILES['userfile']['size']——已上傳文件的大小,單位為字節  
$_FILES['userfile']['tmp_name']——文件被上傳后在服務端儲存的臨時文件名  
$_FILES['userfile']['error']——和該文件上傳相關的錯誤代碼  

其中$_FILES['userfile']['error']的可以有下列取值和意義:  
0——沒有錯誤發生,文件上傳成功。   
1——上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。   
2——上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。   
3——文件只有部分被上傳。   
4——沒有文件被上傳。  

6——找不到臨時文件夾。  

7——沒有寫權限。  



<!--PHP頁面 upl.php頁面開始-->  
<?php  
date_default_timezone_set("Asia/Chongqing");  
//超級數組  
//echo "<pre>";  
//var_dump($_FILES);  
//echo"</pre>";  



//文件上傳  
if(empty($_FILES)){                //判斷文件是否為空  
    echo "上傳文件過大,請弄清楚哦";  
    exit;  
}  
if($_FILES['tupian']['error']>0){     //判斷文件是否出現錯誤          
    echo "上傳文件有誤;請檢測后再試";                                       
    exit;  
}  
$allowtype=array('jpg','png','jpeg','gif');       //允許文件上傳的后綴名  
$mulu="image/";   //創建目錄名稱  
$rs=explode(".",$_FILES['tupian']['name']);          //切割圖片名稱  


$houzhui=strtolower($rs[1]);    //取后綴名用小寫的方式  
if(!in_array($houzhui,$allowtype)){    //如果上傳的文件里面沒有圖片類型  
    echo "上傳文件非圖片";  
    exit;  
}  
//上傳文件名叫什么  
$newname=date('YmdHis').rand().'.'.$houzhui; //時間再加一個隨機數名字肯定不會重名了  
$linshi=$_FILES['tupian']['tmp_name'];  //臨時的圖片名字  
$xinmulu=$mulu.$newname;           //新目錄  
$rs=move_uploaded_file($linshi,$xinmulu);   //移動到新目錄中去  
if($rs){  
    echo "恭喜您,上傳成功";  
}else{  
    echo "上傳失敗";  
}  
<!--PHP頁面 upl.php頁面結束-->  </pre> 


 本文由用戶 gxfw 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!