2017-12-22 5 views
0

1つまたは複数のファイルを選択すると、結果は同じになります。私はこのコードが複数のファイルをアップロードすることを期待しています。しかし配列は空です。私は他人の複数の投稿を見直しましたが、その質問に対する回答はここでは適用されないようです。私が 'action'という名前の隠れた入力を除くすべてのフォーム入力を排除すると、アップロードはうまく動作します。ここPHP:複数のファイルをアップロード中:通知:未定義インデックス:bulletin.phpのファイル

はrelvant HTMLフォームである:ここ

<form action="bulletin.php" method="post" enctype="multipart/form-data"> 
<input class="form-control" id="message_subject" name="message_subject" type="text"/> 
<textarea class="form-control" cols="40" id="message_body" name="message_body" rows="10"></textarea> 
<input type="file" id="file" name="file[]" multiple accept="image/*"/> 
<input type="hidden" name="action" value="submit_new"> 
<button class="btn btn-primary " name="submit" type="submit">Submit</button> 
</form> 

はPHPである:ここ

print_r($_FILES);  
if(isset($_POST['action'])){ 

// Count total files 
$countfiles = count($_FILES['file']['name']); 

// Looping all files 
for($i=0;$i<$countfiles;$i++){ 
$filename = date('Y-m-d-H-i-s') . $_FILES['file']['name'][$i]; 

// Upload file 
move_uploaded_file($_FILES['file']['tmp_name'][$i],'user-images/'.$filename); 

} 
} 

が出力される。

アレイ()

注意:未定義のインデックス:/var/www/html/secure/bulletin.php 66行目のファイル

フォームに他の入力が含まれていると、配列が空白なのはなぜですか?

+0

_66_行にコメントしてください。 – andrewnagyeb

+0

この回答の手順を確認してくださいhttps://stackoverflow.com/a/3587158/689579 – Sean

+0

行66を表示してください。 – zstate

答えて

0

私の場合、このPHPページには複数のフォームがありますが、ifステートメントが真でない限り表示されません。私は、ページ上のすべてのフォームにenctype = "multipart/form-data"を含めるべきであることを示唆したWeb上の投稿を見つけました。だから私は通過し、PHPファイル上のすべてのフォームに追加し、これは不思議な問題を修正しました。無関係なフォームタグがこの原因になるのはなぜか分かりません。

関連する問題