PHP如何实现多个文件的上传处理?

更新于
2026-09-27 22:05:14
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计389个文字,预计阅读时间需要2分钟。

PHP如何实现多个文件的上传处理?

在前端HTML中使用jQuery实现文件上传功能,并在后端使用PHP进行处理。以下是简化后的代码:

php

foreach ($files['name'] as $key=> $name) { $target_file=$target_dir . basename($name); move_uploaded_file($files['tmp_name'][$key], $target_file); }

echo Files uploaded successfully.;}?>

  • 前台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”

PHP如何实现多个文件的上传处理?

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) );//返回上传结果,并返回上传成功后的所有文件的名称
出处: www.voidcn.com/article/p-trdahutl-kk.html

本文共计389个文字,预计阅读时间需要2分钟。

PHP如何实现多个文件的上传处理?

在前端HTML中使用jQuery实现文件上传功能,并在后端使用PHP进行处理。以下是简化后的代码:

php

foreach ($files['name'] as $key=> $name) { $target_file=$target_dir . basename($name); move_uploaded_file($files['tmp_name'][$key], $target_file); }

echo Files uploaded successfully.;}?>

  • 前台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”

PHP如何实现多个文件的上传处理?

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) );//返回上传结果,并返回上传成功后的所有文件的名称
出处: www.voidcn.com/article/p-trdahutl-kk.html