私の写真アップロードフォームにエラーがあります。 私は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);
}
?>
どこに問題ですか?助けてください! ありがとうございました!
を記述する必要がこの
ため ともその配列内にあるもの – RiggsFolly
あなたのHTMLフォームでは、アップロード入力値 'file'が' file'のアップロード入力配列値を上書きすることを認識していますか?物事は読めないので、最初のアップロード入力は無意味になります – Martin