亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP圖片、文件批量上傳代碼

2024-09-04 11:45:11
字體:
來源:轉載
供稿:網友

不管是文件還是圖片批量上傳我們第一個是在html中做name=userfile[]這種數組變量,在php接受中我們做for ($_i=0; $_i<$_cont; $_i++)遍歷這樣就可以實現文件批量上傳了,下面我來看一個實例,代碼如下:

  1. <?php 
  2. session_start(); 
  3. ?> 
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  5. <html xmlns="http://www.w3.org/1999/xhtml"
  6. <head> 
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  8. <title>PHP文件批量上傳</title> 
  9. <style> 
  10. * {margin:0; padding:0; list-style:none;} 
  11. .content {width:400px; height:auto; margin:0 auto; margin-top:60px; padding-bottom:30px; background:#ffd3b6; border:dashed 1px #f90} 
  12. .content h1 { width:400px; height: 30px; line-height:30px; text-align:center; font-family:"微軟雅黑"; font-size:14px; color:#000} 
  13. .content .error {width:300px; height:auto; line-height:30px; text-align:center; margin:0 auto; color:#f00} 
  14. .content .con {width:340px; height:auto; margin:0 auto; font-size:12px;} 
  15. .content #file { width:280px; height:20px; border:solid 1px #ccc; background:#fff; margin:10px 0px 6px 0; font-size:12px;} 
  16. .content #send { width:60px; height:22px; border:solid 1px #ccc; background:#fff; font-size:12px; margin-top:10px;} 
  17. </style> 
  18. <script type="text/javascript" src="js/jquery.js"></script> 
  19. <script> 
  20. $(document).ready(function() { 
  21. $('#cont').val($('.file #file').size()); 
  22. $('#send').eq(0).click(function() { 
  23. var filesize=$('.file #file').size(); 
  24. $('.file').append("<input type='file' name='userfile[]' id='file'/>"); 
  25. $('#cont').val(filesize+1); 
  26. }); 
  27. }); 
  28. </script> 
  29. </head> 
  30. <body> 
  31. <div> 
  32. <h1>PHP文件批量上傳</h1> 
  33. <div> 
  34. <div> 
  35. <?php 
  36. if ($_GET['up']==up) { 
  37. //防止重復提交 
  38. if ($_SESSION['file']==$_GET['irand']) { 
  39. $_cont=intval($_POST['cont']);   //將file框總數接收并轉換成整型 
  40. $_size=20000;                    //設置限制文件大小 
  41. $_dir='pdir/';                   //文件保存目錄 
  42. function size($_size) { 
  43. //判斷文件大小是否大于1024bit 如果大于,則將大小取值為KB,以此類推 
  44. if ($_size>1024*1024) { 
  45. return round($_size/1024/1024,2).' MB'
  46. }else if ($_size>1024) { 
  47. $_size=$_size/1024; 
  48. return ceil($_size).'KB'
  49. }else { 
  50. return $_size.' bit'
  51. //設置上傳圖片的類型,設置圖片上傳大小 
  52. $_upfiles = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif'); 
  53. //利用for循環上傳文件 
  54. for ($_i=0; $_i<$_cont$_i++) { 
  55. if (is_array($_upfiles)) { 
  56. if (!in_array($_FILES['userfile']['type'][$_i],$_upfiles)) { 
  57. exit('請上傳格式為:jpg,png,gif的文件<br /><a href="pupload.php">返回</a>'); 
  58. //判斷文件大小 
  59. if ($_FILES['userfile']['size'][$_i]>$_size) { 
  60. exit('上傳文件不能超過:'.size($_size)); 
  61. //檢測文件是否已經上傳 
  62. if ($_FILES['userfile']['error'][$_i]>0) { 
  63. switch ($_FILES['userfile']['error'][1]) { 
  64. case 1: echo '上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值'
  65. break
  66. case 2: echo '上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值'
  67. break
  68. case 3: echo '文件只有部分被上傳'
  69. break
  70. case 4: echo '沒有文件被上傳'
  71. break
  72. case 6: echo '找不到臨時文件夾'
  73. break
  74. case 7: echo '文件寫入失敗'
  75. break
  76. exit
  77. //獲取文件擴展名 
  78. if (!is_dir($_dir)) { 
  79. mkdir($_dir,0700); 
  80. //生成隨筆數 
  81. $_rand=mt_rand(0,100000); 
  82. //獲取文件擴展名 
  83. $_n=explode('.',$_FILES['userfile']['name'][$_i]);  //將文件名分割 
  84. $_file_len=count($_n);         //返回數組長度 
  85. //確保獲取的擴展名是最后一個.后面的 
  86. $_name=$_dir.time().'_'.$_rand.'.'.$_n[$_file_len-1]; 
  87. //移動文件到指定的目錄 
  88. if (is_uploaded_file($_FILES['userfile']['tmp_name'][$_i])) { 
  89. if (!@move_uploaded_file($_FILES['userfile']['tmp_name'][$_i],$_name)) { 
  90. exit('文件移動失敗'); 
  91. }else { 
  92. echo '文件上傳成功<br />'
  93. echo '文件路徑:'.$_name.'<br />'
  94. echo '文件大?。?#39;.size(filesize($_name)); 
  95. echo '<br /><a href="pupload.php">返回繼續上傳</a>'
  96. }else { 
  97. exit('上傳的臨時文件不存在,無法將文件移動到指定文件夾'); 
  98. //銷毀session變量,有幾種方法 
  99. //第一種,銷毀所有session變量:session_destroy(); 
  100. //第二種:銷毀單個如:$_SESSION['file']='' 
  101. session_destroy(); 
  102. exit
  103. }else { 
  104. exit('您已經提交過了,不能重復提交<br /><a href="pupload.php">返回</a>'); 
  105. ?> 
  106. </div> 
  107. <?php $_irand=mt_rand(0,1000000); $_SESSION['file']=$_irand; ?> 
  108. <form action="?up=up&irand=<?php echo $_irand; ?>" method="post" enctype="multipart/form-data"
  109. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> 
  110. <input type="hidden" name="cont" value="" id="cont" /> 
  111. <div>  //開源軟件:Vevb.com 
  112. <input type="file" name="userfile[]" id="file"/> 
  113. <input type="file" name="userfile[]" id="file"/> 
  114. <input type="file" name="userfile[]" id="file"/> 
  115. <input type="file" name="userfile[]" id="file"/> 
  116. </div> 
  117. <br /> 
  118. <input type="button" name="send" value=" 添加一個 " id="send"/> 
  119. <input type="submit" name="send" value=" 點擊上傳 " id="send"/> 
  120. </form> 
  121. </div> 
  122. </div> 
  123. </body> 

核心原理分析:在多文件上傳中我們前臺最重要的是如下代碼:

  1. <input type="file" name="userfile[]" id="file"/> 
  2. <input type="file" name="userfile[]" id="file"/> 
  3. <input type="file" name="userfile[]" id="file"/> 
  4. <input type="file" name="userfile[]" id="file"/> 

這幾行代碼有細節的朋友會發現name="userfile[]"了,這個是以數組存儲了,這樣我們如果使用js也可以這樣增加<input type="file" name="userfile[]" id="file"/>就可以了,那么在php是如何獲取的呢.

在多文件上傳中php處理是一個關鍵,代碼如下:

  1. for ($_i=0; $_i<$_cont$_i++) { 
  2. if (is_uploaded_file($_FILES['userfile']['tmp_name'][$_i])) { 
  3. if (!@move_uploaded_file($_FILES['userfile']['tmp_name'][$_i],$_name)) { 
  4. exit('文件移動失敗'); 
  5. }else { 
  6. echo '文件上傳成功<br />'
  7. echo '文件路徑:'.$_name.'<br />'
  8. echo '文件大?。?#39;.size(filesize($_name)); 
  9. echo '<br /><a href="pupload.php">返回繼續上傳</a>'

這里顯示很簡單我們會看到有一個for,for就是遍歷數組,遍歷userfile[]數組,然后再由$_FILES['userfile']['tmp_name'][$_i]來獲取不同文件圖片再進行上傳即可,注意[$_i]就是你的多文件上傳項了,只是保存在了數組中.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美又大粗又爽又黄大片视频| 欧美第一淫aaasss性| 91精品国产91久久久久久不卡| 日韩毛片在线观看| 日韩高清中文字幕| 91免费视频网站| 91在线视频成人| 黑人巨大精品欧美一区二区一视频| 久久这里只有精品99| 欧美在线视频在线播放完整版免费观看| 欧美日本精品在线| 国产成人精品电影| 久久久电影免费观看完整版| 国产主播精品在线| 亚洲最大的网站| 亚洲福利在线观看| 韩国v欧美v日本v亚洲| 97香蕉久久超级碰碰高清版| 91po在线观看91精品国产性色| 色综合亚洲精品激情狠狠| 伊人青青综合网站| 日韩欧美福利视频| 欧美日韩一区二区免费在线观看| 国产一区二区动漫| 欧美久久久精品| 亚洲精品自产拍| 成人国产精品久久久久久亚洲| 琪琪亚洲精品午夜在线| 日韩欧美一区视频| 亚洲人精品午夜在线观看| 久久在线观看视频| 亚洲xxxxx电影| 国产区精品在线观看| 国产91在线高潮白浆在线观看| 欧美激情在线视频二区| 国产精品美女久久久久av超清| 91精品国产91久久久久福利| 国内揄拍国内精品| 亚洲高清不卡av| 懂色aⅴ精品一区二区三区蜜月| 亚洲奶大毛多的老太婆| 大荫蒂欧美视频另类xxxx| 欧美日韩一区二区三区| 91欧美日韩一区| 久久综合网hezyo| 欧美成年人网站| 国产成人激情小视频| 久久精品成人一区二区三区| 久久久91精品国产| 日韩av成人在线| 国产精品亚洲欧美导航| 不卡毛片在线看| 欧美成人激情视频| 91在线视频一区| 亚洲国产成人91精品| 成人免费看片视频| 精品久久久久久国产| 欧美亚洲国产视频小说| 欧美在线精品免播放器视频| 亚洲一区二区三区在线视频| 中文字幕日韩专区| 国内精品模特av私拍在线观看| 欧美日韩国产影院| 国产91久久婷婷一区二区| 国产精品久久久久久久久粉嫩av| 午夜精品一区二区三区在线视频| 国产精品久久国产精品99gif| 日韩美女免费观看| 国产精品成人免费电影| 亚洲欧美一区二区精品久久久| 在线播放日韩精品| 日韩色av导航| 日韩中文字幕在线免费观看| 亚洲国产成人91精品| 久久久久久国产三级电影| 欧美激情一区二区三区高清视频| 一区二区三区在线播放欧美| 日韩av免费在线播放| 91在线视频九色| 亚洲国产日韩精品在线| 久久久久久久久久久免费精品| 国产精品扒开腿做爽爽爽的视频| 久久国产精品久久久久久久久久| 国产精品男女猛烈高潮激情| 欧美精品免费在线| 中文字幕成人精品久久不卡| 国产精品日韩在线| 2020欧美日韩在线视频| 亚洲无限乱码一二三四麻| 伊人青青综合网站| 亚洲精品丝袜日韩| 欧美日韩亚洲天堂| 激情久久av一区av二区av三区| 久久精品国产亚洲一区二区| 久久精品中文字幕电影| 97久久精品在线| 国产精品揄拍500视频| 亚洲免费精彩视频| 久久久久亚洲精品| 91精品视频在线| 国产精品视频xxx| 九九久久国产精品| 亚洲欧美日韩另类| 亚洲国产毛片完整版| 成人激情视频在线观看| 日韩av电影手机在线观看| 亚洲乱码av中文一区二区| 亚洲女人天堂网| 国产成人av网| 欧美性猛交xxxx免费看漫画| 亚洲视频欧洲视频| 欧美国产日韩一区二区| 国产在线日韩在线| 国产一区二区三区在线免费观看| 日韩中文字幕免费看| 亚洲精品一区二区在线| 欧美疯狂性受xxxxx另类| 日韩精品在线免费播放| 亚洲bt天天射| 国产精品av免费在线观看| 亚洲成人教育av| 日韩毛片在线观看| 91亚洲va在线va天堂va国| 1769国内精品视频在线播放| 亚洲国产成人精品久久久国产成人一区| 日韩在线视频免费观看高清中文| 在线电影av不卡网址| 91精品国产自产91精品| 欧美疯狂性受xxxxx另类| 亚洲老司机av| 国产成人高潮免费观看精品| 亚洲老司机av| 456亚洲影院| 欧美精品成人91久久久久久久| 久久中文字幕在线视频| 欧美www视频在线观看| 国产精品福利网站| 国产精品男人的天堂| 国产精品羞羞答答| 欧美一级免费看| 欧美极品少妇全裸体| 成人黄色在线免费| 亚洲综合日韩在线| 欧美国产日韩xxxxx| 136fldh精品导航福利| 成人羞羞国产免费| 日韩中文字幕av| 日本精品va在线观看| 欧美专区福利在线| 国产日韩换脸av一区在线观看| 俺去啦;欧美日韩| 国产精品人成电影在线观看| 亚洲精品国产精品久久清纯直播| 日韩中文在线中文网在线观看| 日韩av影视综合网| 精品久久久国产精品999| 亚洲影视中文字幕| 欧美大肥婆大肥bbbbb| 91国产精品电影| 97不卡在线视频| 亚洲精品中文字| 欧美精品久久久久| 正在播放国产一区| 日韩av不卡电影|