Загрузка нескольких файлов (ошибка ограничения файла)
Я хочу загрузить несколько файлов за один раз. Я успешно протестировал код при загрузке одного файла (удалил для каждого цикла), после чего все работает. Файл загружается и проверяется размер файла / тип файла. Но когда я попытался вставить цикл for, чтобы иметь возможность делать несколько файлов, он выдает "Это расширение файла запрещено, пожалуйста, загрузите файл JPEG или PNG"
HTML-код:
<form action="fileUpload.php" method="POST" enctype="multipart/form-data">
<table>
<tr><td>File 1</td> <td><input name="file_upload[]" type="file" class="multi"/> </td></tr>
<tr><td>File 2</td> <td><input name="file_upload[]" type="file" class="multi"/> </td></tr>
<tr><td></td> <td> <input type="submit" name="upload" value="Upload"><input type="reset"> </td> </tr>
</table>
</form>
Код PHP:
foreach ($_FILES['file_upload']['tmp_name'] as $key => $tmp_name)
{
$rootDir = getcwd(); // get current working directory
$uploadDirectory = "/uploads/";
$fileExtensions = ['jpeg','jpg','png', 'pdf', 'docx',]; // Get all the file extensions
$fileType = $_FILES['file_upload']['type'][$key];
// $fileExtension = strtolower(end(explode('.',$fileName)));
$fileExtension = pathinfo($_FILES["file_upload"]["tmp_name"][$key]);
$uploadPath = $rootDir . $uploadDirectory . basename($fileName);
// echo $uploadPath;
}
?>
1 ответ
Решение
Изменить:
$fileExtension = pathinfo($_FILES["file_upload"]["tmp_name"][$key]);
к:
$fileExtension = pathinfo($_FILES["file_upload"]["name"][$key]);
$fileExtension = $fileExtension['extension'];
Ранее ваш код проверял расширение временных файлов.