2017-04-30 14 views
-1

私の写真アップロードフォームにエラーがあります。 私は2つのフィールドを持っています.1つは複数の写真用で、もう1つはアーカイブ用です。PHPアップロードエラー - foreach()に無効な引数が指定されました

<input type="file" name="file[]" multiple="multiple" class="custom-file-input" id="file_upload_gallery" accept="image/*"/> 

<input type="file" name="file" class="custom-file-input" id="file_upload" accept="application/zip, application/rar" /> <span class="custom-file-control"> 

し、エラーをスローし、私のPHPスクリプト、 - foreachのために供給無効な引数()

<?php 
    if (!is_dir($_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/')){ 
     mkdir($_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/'); 
     foreach($_FILES['file']['name'] as $key=>$filename) { 
      print_r($_FILES); 
      if(move_uploaded_file($_FILES['file']['tmp_name'][$key], $_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/' . $filename)) { 
       $uploaded[] = $filename; 
      } 
     } 
     echo json_encode($uploaded);  
    } else { 
     foreach($_FILES['file']['name'] as $key=>$filename) { 
      print_r($_FILES); 
      if(move_uploaded_file($_FILES['file']['tmp_name'][$key], $_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/' . $filename)) { 
       $uploaded[] = $filename; 
      } 
     } 
     echo json_encode($uploaded);    
    } 
?> 

どこに問題ですか?助けてください! ありがとうございました!

+0

を記述する必要がこの

foreach($_FILES['file[]']['name'] as $key=>$filename) { 

ため ともその配列内にあるもの – RiggsFolly

+2

あなたのHTMLフォームでは、アップロード入力値 'file'が' file'のアップロード入力配列値を上書きすることを認識していますか?物事は読めないので、最初のアップロード入力は無意味になります – Martin

答えて

0

2つの入力に同じ名前のファイルを使用すると問題が発生することがあります。あなたは文句を言わないが、 `foreachの($ _ FILES [ 'ファイル[]']`だけで行う `ますprint_r($ _ FILES)は`お見せshoudl仕事

foreach($_FILES['file']['name'] as $key=>$filename) { // Omit the [] from file 
+2

担当者の不足ですが、これは実際には単なるコメントです。このタイプの回答は、下降音を惹きつけたり、フラグを立てたりします。 ___ DV___と私はしませんでしたあなたはどのような質問にもコメントする必要がある50人の代理人を得るために長いポイントを取って時間がかかります。 それまでは、よく質問されているので、 の説明が不要なので、簡単に回答できる質問に固執してください。 http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reation-to-comment-what-c​​an-i-do-instead – RiggsFolly

+0

ありがとうございます@RiggsFolly私はそれに従います今から。 –

関連する問題