Я пытаюсь загрузить несколько изображений на сервер одновременно. Я использую скрипт загрузки, который работает для отдельных изображений. Однако после добавления цикла for сценарий больше не работает.
Я прокомментировал функцию move_upload_file для проверенных целей и заменил их на операторы echo.
При попытке загрузить несколько файлов я получаю обработчик ошибок: «Вы не можете загружать файлы этого типа!». И после добавления некоторых операторов echo для имени и расширения файла, он отображается как «Sis» или 000.
Будем весьма благодарны за любые предложения по устранению этой проблемы. Мой код PHP показан ниже:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (!isset($_POST['submit'])) {
$total = count($_FILES['file']['name']);
for( $i=0 ; $i < $total ; $i++ ) {
$file = $_FILES['file'];
$fileName = $_FILES['file']['name'][$i];
$fileTmpName = $_FILES['file']['tmp_name'][$i];
$fileSize = $_FILES['file']['size'][$i];
$fileError = $_FILES['file']['error'][$i];
$fileType = $_FILES['file']['type'][$i];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
// File types allowed
$allowed = array('jpg', 'jpeg', 'png', 'gif');
if (in_array($fileActualExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 9000000) {
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = 'images/Showroom-images/'.$fileName;
/*move_uploaded_file($fileTmpName, $fileDestination);
echo "Success!";*/
echo $fileName;
echo $fileDestination;
} else {
echo "Your file is too big!";
}
} else {
echo "There was an error, please try again";
}
} else {
echo $fileName + "<br>";
echo $fileType + "<br>";
echo $fileActualExt + "<br>";
echo "You can't upload files of this type!";
}
}}
?>
Вот и форма HTML:
<form action="test.php" method="post" enctype="multipart/form-data">
<input name="file" id="file" type="file" multiple="multiple" />
<input type="submit" value="submit" id="submit"/>
</form>