Загрузка нескольких файлов (ошибка ограничения файла)

Я хочу загрузить несколько файлов за один раз. Я успешно протестировал код при загрузке одного файла (удалил для каждого цикла), после чего все работает. Файл загружается и проверяется размер файла / тип файла. Но когда я попытался вставить цикл 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'];

Ранее ваш код проверял расширение временных файлов.

Другие вопросы по тегам