1 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
可以用數組形式,我貼代碼了
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();
}
添加回答
舉報
0/150
提交
取消