当前位置 : 主页 > 网络编程 > PHP >

PHP 多文件上传

来源:互联网 收集:自由互联 发布时间:2021-07-03
前台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="ima
  • 前台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://www.voidcn.com/article/p-trdahutl-kk.html
网友评论