高手教你PHP上傳多張圖片

高手教你PHP上傳多張圖片



對於咱們來講上傳一張圖片是很是簡單的事情,這裏教你們一個關於PHP上傳多張圖片的代碼分析,但願對你們有幫助。php


學習PHP時,你可能會遇到PHP上傳多張圖片問題,這裏將介紹PHP上傳多張圖片問題的解決方法,在這裏拿出來和你們分享一下。單張的圖片上傳是不復雜的,這裏涉及到PHP上傳多張圖片和對圖片格式的校驗,保證上傳的必定是圖片,防止上傳其餘文件到服務器。html

基本實現算法是使用數組的形式,把全部的圖片提交個一個數組,對數組的元素進行一個個的處理。PHP其實不過是Web服務器的一個模塊功能,因此首先要保 證Web服務器的安全。固然Web服務器要安全又必須是先保證系統安全,這樣就扯遠了,無窮無盡。PHP能夠和各類Web服務器結合,這裏也只討論 Apache。很是建議以chroot方式安裝啓動Apache,這樣即便Apache和PHP及其腳本出現漏洞,受影響的也只有這個禁錮的系統,不會危 害實際系統。如下爲引用的內容:算法

 
 
  1. <?php 數組

  2.  

  3. //圖片目錄  安全

  4. $img_dir="../upload/";  服務器

  5. //……html顯示上傳界面  ide

  6.  

  7. /*圖片上傳處理*/  學習

  8. //把圖片傳到服務器  spa

  9. //初始化變量  xml

  10.  

  11. $uploaded=0;  

  12. $unuploaded=0;  

  13.  

  14. //只容許五張圖片上傳  

  15.  

  16. for($i=0;$i<=5;$i++)  

  17. {  

  18. //獲取當前圖片的信息  

  19. $is_file=$_FILES['imgfile']['name'][$i];  

  20. //若是當前圖片不爲空  

  21. if(!empty($is_file))  

  22. {  

  23. //把當前圖片的信息存儲到變量裏  

  24. $result[$i]="  

  25. <trclasstrclass=td2align=center> 

  26. <td>".$_FILES['imgfile']['name'][$i]."</td> 

  27. <td>".round($_FILES['imgfile']['size'][$i]/1024,2)."K</td> 

  28. <td>".$_FILES['imgfile']['type'][$i]."</td> 

  29. <td>";  

  30.  

  31. //判斷上傳的圖片的類型是否是jpg,gif,png,bmp中的一種,同時判斷是否上傳成功  

  32. if(  

  33.  

  34. $_FILES['imgfile']['type'][$i]=="p_w_picpath/pjpeg"||  

  35. $_FILES['imgfile']['type'][$i]=="p_w_picpath/gif"||  

  36. $_FILES['imgfile']['type'][$i]=="p_w_picpath/x-png"||  

  37. $_FILES['imgfile']['type'][$i]=="p_w_picpath/bmp"  

  38. )  

  39. {  

  40. //若是上傳的文件沒有在服務器上存在  

  41. if(!file_exists($img_dir.$_FILES['imgfile']['name'][$i]))  

  42. {  

  43. //把圖片文件從臨時文件夾中轉移到咱們指定上傳的目錄中  

  44. move_uploaded_file($_FILES['imgfile']['tmp_name'][$i],  

  45. $img_dir.$_FILES['imgfile']['name'][$i]);  

  46. $result[$i].="成功";  

  47. $uploaded++;  

  48. }  

  49. else//若是文件已經在服務器上存在  

  50. {  

  51. $result[$i].="<fontcolor=red>文件已存在</font>";  

  52. $unuploaded++;  

  53. continue;  

  54. }  

  55. }  

  56. else  

  57. {  

  58. $result[$i].="<fontcolor=red>失敗</font>";  

  59. $unuploaded++;  

  60. }  

  61. $result[$i].="</td></tr>";  

  62. }//endif  

  63. }//endfor  

  64.  

  65.  

  66. //若是沒有選擇任何圖片  

  67. if(empty($result))  

  68. {  

  69. prompt_msg("錯誤信息","沒有選擇任何圖片。","返回上一步","uploadimg.php?action=upload");  

  70. exit();  

  71. }  

  72.  

  73. //顯示全部上傳後的結果  

  74. echo"<tablecellpaddingtablecellpadding=4cellspacing=1border=0class=tablewidth=400align=left> 

  75. <trclasstrclass=navialign=center> 

  76. <td>文件名</td> 

  77. <td>大小</td> 

  78. <td>類型</td> 

  79. <td>上傳結果</td> 

  80. </tr> 

  81. ";  

  82.  

  83. foreach($resultas$value)  

  84. {  

  85. echo$value;  

  86. }  

  87.  

  88. echo"<trclasstrclass=td1> 

  89. <tdcolspantdcolspan=4>共上傳".($uploaded+$unuploaded).",成功:$uploaded,失敗:<fontcolorfontcolor=red>$unuploaded</font></td> 

  90. </tr> 

  91. <trclasstrclass=navi> 

  92. <tdcolspantdcolspan=4align=center>[<ahrefahref='uploadimg.php?action=upload'title='繼續上傳'>繼續上傳</a>]
    &nbsp;&nbsp;&nbsp;&nbsp;[<ahrefahref='p_w_picpath.php'title='瀏覽圖片'>瀏覽圖片</a>]</td> 

  93. </tr> 

  94. </table> 

  95. ";  

  96. ?>

相關文章
相關標籤/搜索