高手教你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. ?>

相关文章
相关标签/搜索