[PHP实例] PHP多文件上传实现

来源:互联网 发布:我是传奇结局知乎 编辑:程序博客网 时间:2024/05/21 17:00
只要以数组形式来命名表单中的文件上传标记,即可实现多个文件同时上传。 

下面我们来看一个例子: 
--------------------------------------------------------------------- 
  1. <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="104857600" />
  3. <table>
  4. <tr>
  5. <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
  6. </tr>
  7. <tr>http://m.nvzi91.cn/gongjingyan/29412.html
  8. <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
  9. </tr>
  10. <tr>
  11. <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
  12. </tr>
  13. <tr>
  14. <td>上传文件:<input name="upload_file[]" type="file" size="50" /></td>
  15. </tr>
  16. <tr>
  17. <td><input type="submit" name="submit" value="上传"/></td>
  18. </tr>
  19. </table>
  20. </form>
  21. http://m.nvzi91.cn/gongwaiyun/29413.html
  22. <?php
  23. function upload($file_error, $file_tmp_name, $file_name){
  24. $info = "";
  25. if($file_name == "")
  26. return $info;
  27. switch($file_error){
  28. case UPLOAD_ERR_INI_SIZE:
  29. $info = $file_name. ": 文件大小超过了服务器的限制";
  30. break;
  31. case UPLOAD_ERR_FORM_SIZE:
  32. $info = $file_name. ": 文件大小超过了浏览器的限制";
  33. break;
  34. case UPLOAD_ERR_PARTIAL:
  35. $info = $file_name. ": 只上传了部分文件";
  36. break;
  37. case UPLOAD_ERR_NO_FILE:
  38. $info = $file_name. ": 没有文件被上传";
  39. break;
  40. case UPLOAD_ERR_NO_TMP_DIR:
  41. $info = $file_name. ": 找不到临时文件夹";
  42. break;
  43. case UPLOAD_ERR_CANT_WRITE:
  44. $info = $file_name. ": 文件写入失败";
  45. break;
  46. case UPLOAD_ERR_OK:
  47. $upload_dir = './'.iconv("UTF-8","gb2312",$file_name);
  48. if(file_exists($upload_dir)){
  49. $info = $file_name.": 同名文件已经存在";
  50. }else{
  51. if(move_uploaded_file($file_tmp_name,$upload_dir)){
  52. $info = $file_name.": 文件上传成功";
  53. }else{
  54. $info = $file_name.": 文件上传失败";
  55. }
  56. }
  57. break;
  58. }
  59. return $info;
  60. }
  61. http://m.nvzi91.cn/waiyinyan/29414.html
  62. if(isset($_POST['submit'])){
  63. $info = '';
  64. $count = count($_FILES['upload_file']['name']);
  65. for($i=0; $i<$count; ++$i){
  66. if($_FILES['upload_file']['name'][$i] == "")
  67. continue;
  68. $info = upload(
  69. $_FILES['upload_file']['error'][$i],
  70. $_FILES['upload_file']['tmp_name'][$i],
  71. $_FILES['upload_file']['name'][$i]
  72. );
  73. }m.nvzi91.cn
  74. echo $info;
  75. }
  76. ?>
0 0
原创粉丝点击