胡子哥哥
可以用数组形式,我贴代码了html 部分<li class="list-group-item disabled select-file-div"><input type="file" multiple="true" class="input-sm clear-l-r-padding select-file" data-uploadtype="photo"/></li>js部分var i,data = new FormData();...for (i = 0; i < $('.select-file').files.length; i++) { data.append('file[]', this.files[i]);
}...//省略代码若干...在选择完成后调用下面$.ajax$.ajax({url: 'url'type: "POST",data: data,dataType: 'json',processData: false,// *重要,确认为falsecontentType: false,beforeSend: function () {
... },success: function (res) {
console.log(res);},error: function (res) {
...}});php 部分 接收数组$fileField='file';$name = $_FILES$fileField; $tmp_name = $_FILES[$fileField]['tmp_name'];
$size = $_FILES[$fileField]['size'];
$error = $_FILES[$fileField]['error'];/ 如果是多个文件上传则$file["name"]会是一个数组 /if(is_Array($name)){ $errors=array();/多个文件上传则循环处理 , 这个循环只有检查上传文件的作用,并没有真正上传 /for($i = 0; $i < count($name); $i++){ /设置文件信息 /if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i] )) {if(!$this->checkFileSize() || !$this->checkFileType()){
$errors[] = $this->getError();
$return=false;
}}else{$errors[] = $this->getError();$return=false;}/ 如果有问题,则重新初使化属性 /if(!$return)$this->setFiles();}