PHP 多文件上傳

cmb2 9年前發布 | 1K 次閱讀 PHP

  • 前臺html
  • jquery代碼
  • 后臺PHP處理

前臺html

<form id="form" method="post" enctype="multipart/form-data">
<input class="imagesUpload" type="file" name="imagesUpload[]" style="width: 152px;"/>
<input class="imagesUpload" type="file" name="imagesUpload[]" style="width: 152px;"/>
<input class="imagesUpload" type="file" name="imagesUpload[]" style="width: 152px;"/>
<input class="imagesUpload" type="file" name="imagesUpload[]" style="width: 152px;"/>
<a class="easyui-linkbutton" icon="icon-add" id="uploadImage_input">圖片上傳</a>
</form>

** 注意name的寫法,都要使用name[]方式,并且用同一個name
** 注意帶有file的表單,form一定要加:enctype=”multipart/form-data”

jquery 提交form表單

$("#form").form('submit',{
  url:url,
  success:function(data){
    //處理返回數據
  }
});

PHP 后臺處理

//接收處理文件
$fileArray = $_FILES['imagesUpload'];//根據請求的name獲取文件
$upload_dir = public_path() . "/upload/carPic/";
$userID = Session::get('userID');
$nowTime = date("YmdHis", time());
$i = 0;
$successName = array();
foreach ($fileArray['error'] as $key => $error){  //遍歷處理文件
  if ( $error == UPLOAD_ERR_OK ) {
    $temp_name = $fileArray['tmp_name'][$key];
    $file_name = $userID.'-'.$nowTime.$i.$fileArray['name'][$key];
    move_uploaded_file($temp_name, $upload_dir.$file_name);
    array_push($successName, $file_name);//把上傳成功的文件名稱加入數組
  }else{
    return '{"flag":0,"flagmsg":"上傳[文件'.$key.']失敗!<br/>!"}';
  }
  $i++;
}
$flag = array('flag'=>1,'flagmsg'=>'文件上傳成功!');
$names = array('names'=>$successName);
return json_encode(
  array_merge($flag,$names)
);//返回上傳結果,并返回上傳成功后的所有文件的名稱

出處: http://blog.csdn.net/a437629292/article/details/44337295

 本文由用戶 cmb2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!