继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

高手教你PHP上传多张图片

翻阅古今
关注TA
已关注
手记 221
粉丝 9
获赞 36

高手教你PHP上传多张图片


对于我们来说上传一张图片是非常简单的事情,这里教大家一个关于PHP上传多张图片的代码分析,希望对大家有帮助。


学习PHP时,你可能会遇到PHP上传多张图片问题,这里将介绍PHP上传多张图片问题的解决方法,在这里拿出来和大家分享一下。单张的图片上传是不复杂的,这里涉及到PHP上传多张图片和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。

基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理。PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽。PHP可以和各种Web服务器结合,这里也只讨论Apache。非常建议以chroot方式安装启动Apache,这样即使Apache和PHP及其脚本出现漏洞,受影响的也只有这个禁锢的系统,不会危害实际系统。以下为引用的内容:


  1. <?php 

  2.  

  3. //图片目录  

  4. $img_dir="../upload/";  

  5. //……html显示上传界面  

  6.  

  7. /*图片上传处理*/  

  8. //把图片传到服务器  

  9. //初始化变量  

  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]=="image/pjpeg"||  

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

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

  37. $_FILES['imgfile']['type'][$i]=="image/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='image.php'title='浏览图片'>浏览图片</a>]</td> 

  93. </tr> 

  94. </table> 

  95. ";  

  96. ?>


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

可怜一下我们,做个视频教程吧!?

查看全部评论