2012-02-23 14 views
0

このチュートリアルの次の記事:http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/comment-page-1/#commentsには、ajax経由で複数のファイルをアップロードする方法が記載されています。PHP複数ファイルのアップロード:foreach()に無効な引数が指定されました

これは私のhtmlです:

<form class="form-horizontal" id="settingsChangeAvatar" method="post" enctype="multipart/form-data" action="<?php echo $AJAX."/ajaxUpload.php"?>"> 
    <input class="input-xlarge input-file" id="settingsUploadAvatar" name="settingsUploadAvatar" type="file" multiple /> 
    <button class="btn" id="uploadAvatarButton" type="submit">Upload</button> 
</form> 

そして、これは私のajaxUpload.phpです:

foreach($_FILES["settingsUploadAvatar"]["error"] as $key => $error){ 
    if($error == UPLOAD_ERR_OK) { 
     $name = $_FILES["settingsUploadAvatar"]["name"][$key]; 
     move_uploaded_file($_FILES["settingsUploadAvatar"]["tmp_name"][$key], $_SERVER["DOCUMENT_ROOT"]."/webname/".$_FILES["settingsUploadAvatar"]["name"][$key]); 
    } 
} 

echo("File uploaded"); 

私のコードは、チュートリアルのものと同じでなければなりません。 ありがとうございます。

+0

あなたの質問は? – Basti

+0

あなたは単にそこにあるものを見るために 'var_dump($ _ FILES)'を使いましたか?基本的なデバッグはここにあります... –

+2

最初に気づくのは、入力の名前の末尾に '[]'がありません。attr: 'name = 'settingsUploadAvatar []' –

答えて

6

入力の「名前」属性をsettingsUploadAvatarからsettingsUploadAvatar[]に変更してください。

+0

良い見つける。 :) +1 –

+0

ありがとうございました!今それは魅​​力のように動作します! +1 – siannone

関連する問題