Я вижу, что этот вопрос задан миллион раз. Я прошел через многие ответы и не могу понять:Проблемы с загрузкой нескольких файлов с помощью PHP
Я просто пытаюсь загрузить несколько файлов. Я уверен, что форма правильная. Проблема, которую я получаю, заключается в том, что если я использую цикл foreach, PHP циклически проходит 5 раз (я думаю, один раз для каждого ключа в $ _FILES).
Я читал, что вы должны рассчитывать загруженные файлы в $ _file [ «file_upload»] массив, а затем использовать для цикла, и включают в себя индекс в конце концов, такие как: -
$_FILES['file_upload']['name'][$1]
однако, когда я пытаюсь получить доступ к этим значениям, я получаю только первую букву значения (думаю, я понимаю, почему это так).
Единственное, что я могу думать, чтобы использовать
for($i ; $i<$size ; $i++){...}
, а затем Nest петлю Еогеасп внутри него, однако, это кажется неэффективным, и я не видел никаких других предложений в этом направлении.
Поэтому я был бы бесконечно благодарен, если бы кто-то мог установить меня раз и навсегда. Мой код здесь: -
foreach ($_FILES['file_upload'] as $key => $value){
$tmp_file = $_FILES['file_upload']['tmp_name'];
$target_file = basename($_FILES['file_upload']['name']);
if(move_uploaded_file($tmp_file,$upload_location."/".$target_file)){
$message = "File uploaded successfully";
} else {
$error = $_FILES['file_upload']['error']; // get the error
$_SESSION['errors'][] = $error_msg[$error];// return the error that matches
}// end if
} // end for
Так просто уточнить - приведенный выше код работает и загружает изображение, но где циклы петли через 5 раз (я предполагаю, что один раз в $ _FILES атрибут), я получаю 5 сообщений об ошибках. Надеюсь, это имеет смысл.
Большое спасибо заранее за любые указатели
Phill
Hi Zander, Большое спасибо за ваш быстрый ответ. Однако я видел, что в Руководстве по PHP проблема заключается в том, что когда я добавляю свойство в оператор foreach, я получаю следующую ошибку: - Предупреждение: неверный аргумент, предоставленный foreach() в {web-path}/includes/functions. php on line 105 – Phill
Ваши поля ввода файла в вашем html, являются ли их имена объявлены как тип массива? например name = "file_upload []" –
Также добавьте форму HTML, которую вы используете для загрузки файлов. –