イメージアップロードプログラムを作成していて、1つのファイルで完全に動作させていますが、複数のファイルを処理しようとすると、それはそれを介して送信するためにjQuery.ajaxを使用した後POSTを通じてアップロードされた複数のファイルを1つの入力要素から処理する
var formData = new FormData();
var entryArray = new Array("entryName","entryFoodType","entryROI","entryOpeningHour","entryOpeningMinute","entryOpeningAMPM","entryClosingHour","entryClosingMinute","entryClosingAMPM","entryPhone","entryEmail","entryPhotos","entryDesc","entryLocLat","entryLocLong");
for(var temp = 0; temp < entryArray.length; temp++){
//--I suspect my problem is here
if($('#' + entryArray[temp])[0].files){
formData.append(entryArray[temp], $('#' + entryArray[temp])[0].files);
}
else{
formData.append(entryArray[temp], $('#' + entryArray[temp]).val());
}
}
:
<input type="file" id="entryPhotos" multiple>
、その後、私のFormData
を構築:私は、単一のHTML要素に複数のファイルを受け入れるようにしてい
$.ajax({
url: '/scripts/spotEntry.php',
data: formData,
type: 'POST',
contentType: false,
processData: false,
success: function(returnCode){
entryReturnProc(returnCode);
}
});
をしかし、サーバーに着くと何もありません:
echo count($_FILES["entryPhotos"]["name"]); //returns 0
私はただ1つのイメージをやっているだけで、$('#' + entryArray[temp])[0].files[0]
を実行することはできますが、うまくいくはずですが、[0]
を削除して、それを配列に送信してはいけません。私の理解では、FormData jQuery.ajaxとPHPはすべてサポートしていますか?
'print_r($ _ FILES);'を試しましたか? –
空白の配列が印刷されます。私は複数のファイルを持っていると、POSTリクエストでサーバにファイルを作成することさえできません。 – Xandor
私は人々がdownvotingの理由を説明することを望む... – Xandor