我在PHP下面的代碼:在php文件發佈不同的文件類型,以不同的PHP塊
if (isset($_FILES)) {
foreach($_FILES as $index => $picture)
{
echo $_FILES;
}
}
JavaScript代碼來發布表單數據:
$(".update").click(function(){
$.ajax({
url: 'submit.php',
type: 'POST',
contentType:false,
processData: false,
data: function(){
var data = new FormData();
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
data.append('body' , $('#body').val());
return data;
}(),
success: function(result) {
alert(result);
},
error: function(xhr, result, errorThrown){
alert('Request failed.');
}
});
$('#picture').val('');
$('#body').val('');
});
HTML表單:
<form enctype="multipart/form-data" method="post" id="myform">
<textarea name="body" id="body" class="texarea" placeholder="type here">
</textarea>
<label for="photo" class="custom-file-upload">
<i class="fa fa-picture-o"style="font-size:20px;color:pirple;"></i>
</label>
<input id="file" name="picture[]" type="file" multiple/>
//this is my part of interest now
<label for="docs" class="docsmsg">
<i class="fa fa-file" style="font-size:20px;color:red;"></i>
</label>
<input id="docs" name="document[]" type="file" multiple/>
</form>
PHP代碼沒有收到具有特定名稱的文件屬性的形式,但任何文件無論是照片,文檔或不同的名稱。 if(isset($ _ FILES))
但是,這不是我想要的。在我的表單中,我需要兩個甚至三個文件輸入選項,就像上面的選項一樣,除了另一個選項僅用於上載文檔,最後一個僅用於上傳視頻...請注意放置註釋的位置...說......「這是我感興趣的部分。」這是我想添加的新增功能。
目前只能上傳照片......但我對三個文件輸入選項感興趣......一個用於照片,視頻和文檔。
起初我試圖區分使用這個PHP代碼不同:
if (isset($_FILES[file])) {
//do something
}
,但沒有奏效。它沒有做'東西'。直到我在方括號中刪除[文件]描述的最後,它纔開始執行上面提到的「某事」。
我的問題確實是基於我想要達到的....這是有不同類型的文件單獨多個文件輸入,我如何讓PHP實際確定哪些表單輸入字段的文件正在連接,或者我想要處理哪些文件類型。 現在的代碼,哪個輸入字段文件正在附加,但最後,如果(isset($ _ FILES))指令都來到那個沒關係......
''_FILES [file]'' - 變量文件必須包含$ _FILES數組的有效索引。要測試一個特定的文件類型,你必須得到文件名,並測試它的擴展名或MIME類型。一般來說,在網絡上做這些事情有很多例子,特別是。 –
看看這篇文章:http://php.net/manual/en/features.file-upload.post-method.php –
這個鏈接可能不適合我....記住,我想要得到具有特定名稱的多個文件被髮送到php文件....多個文件來自一個輸入字段而不是多個輸入字段.......兩個多個輸入字段用於具有不同名稱的兩種不同類型的文件。 ..每個字段必須一次接受該文件類型的多個上傳。 – maraj