程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 經驗總結:示例PHP上傳文件代碼

經驗總結:示例PHP上傳文件代碼

編輯:關於PHP編程

今天看了一本關於PHP的書,讓我了解了PHP上傳文件的方法,最主要的兩個函數是move_uploade_file(臨時文件,目標位置和文件名)和is_uploaded_file(),前者用來移動上傳後保存在服務器緩存區的文件到目標文件,後者用來判斷文件是否上傳成功。除了以上兩個函數之外,還要說明一下form標簽中enctype的值應該如下:

  1. <formenctypeformenctype="multipart/form-data"method="post"name="upform"> 

只有其值為multipart/form-data才能保證以正確的編碼方式上傳文件。input標簽type屬性中的"file"

  1. <inputnameinputname="upfile"type="file"> 

另一個系統函數是$_FILES,$_FILES['myFile']['name']客戶端文件的原名稱、$_FILES['myFile']['type']文件的MIME類型,例如"image/gif"、$_FILES['myFile']['size']已上傳文件的大小,單位為字節、$_FILES['myFile']['tmp_name']儲存的臨時文件名,一般是系統默認、$_FILES['myFile']['error']該文件上傳相關的錯誤代碼。這個函數將上傳文件的信息分割成數組形式保存在不同的數組元素中,例如,文件名的值存儲在$_FILES['myFile']['name']中。下面附上自己寫的簡單的PHP上傳文件代碼:

PHP上傳文件代碼類saveupload.php

  1. <?php 
  2. if(is_uploaded_file($_FILES['upfile']['tmp_name'])){  
  3. $upfile=$_FILES["upfile"];//如果已經選定了要上傳的文件,將其索引保存在$upfile中  
  4.  
  5.  
  6. //分別去上傳文件的名字,類型等  
  7. $name=$upfile["name"];  
  8. $type=$upfile["type"];  
  9. $size=$upfile["size"];  
  10. $tmp_name=$upfile["tmp_name"];  
  11. $error=$upfile["error"];  
  12.  
  13.  
  14. //設定上傳文件類型  
  15. switch($type){  
  16. case'image/pjpeg':  
  17. $ok=1;  
  18. break;  
  19.  
  20. case'image/jpeg':  
  21. $ok=1;  
  22. break;  
  23.  
  24. case'image/png':  
  25. $ok=1;  
  26. break;  
  27.  
  28. case'image/gif':  
  29. $ok=1;  
  30. break;  
  31. }  
  32.  
  33.  
  34. //如果文件類型合法並且$error返回值為0,說明上傳成功  
  35. if($ok&&$error=='0'){  
  36. move_uploaded_file($tmp_name,'up/'.$name);//將保存在緩存的文件移動到指定目錄下  
  37. echo"上傳成功";  
  38. }  
  39. }  
  40.  
  41. ?> 

PHP上傳文件代碼上傳頁面upload.php

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> 
  5. <title>upload</title> 
  6. <styletypestyletype="text/css"> 
  7. <!--  
  8. body{  
  9. background-color:#CFF;  
  10. text-align:center;  
  11. }  
  12. --> 
  13. </style></head> 
  14.  
  15. <body> 
  16. 文件上傳  
  17. <hr/> 
  18. <formidformid="form1"name="form1"method="post"action="saveupload.php"enctype="multipart/form-data"> 
  19. 上傳文件:  
  20. <label> 
  21. <inputtypeinputtype="file"name="upfile"/> 
  22. </label> 
  23. <label> 
  24. <inputtypeinputtype="submit"name="button"id="button"value="上傳"/> 
  25. </label> 
  26. </form> 
  27.  
  28. </body> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved