Почему для некоторых изображений $ _FILES ['image_name'] ['size'] показывает пустые значения или 0 вместо размера файла в PHP?

0

У меня есть следующая форма для загрузки изображения на сервер:

<form id="request_form" method="post" enctype="multipart/form-data" action="">
  <input type="file" name="student_image" id="student_image" accept="image/*" capture/>                  
  <button type="submit">Submit</button>
</form>

Когда я попытался напечатать данные, содержащиеся в массиве $_FILES для нескольких файлов изображений, я получаю только имя файла. Другие поля являются пустыми или содержат значение 0. Я не понимаю, почему это происходит.

Ниже приведен один образец из $_FILES я получил после print_r($_FILES); массив для такого изображения:

Array
(
    [student_image] => Array
        (
            [name] => Page After Login.jpg
            [type] => 
            [tmp_name] => 
            [error] => 1
            [size] => 0
        )

)

Фактический размер на диске файла. Страница после Login.jpg составляет 2,3 МБ.

Для других изображений он работает правильно.

Пожалуйста, помогите мне в решении этой проблемы.

  • 1
    У вас ошибка загрузки - см. Элемент [error]. Коды ошибок перечислены здесь . В этом случае ваш загруженный файл превышает максимальный размер загрузки, установленный для вашей установки PHP.
  • 0
    @HoboSapiens:Thanks Спасибо, что обнаружили ошибку. Подскажите, пожалуйста, как мне переопределить этот параметр из php.ini. Я не могу получить доступ к файлу php.ini на сервере, но для этой конкретной программы я хочу увеличить лимит загрузки. Как я должен?
Показать ещё 2 комментария
Теги:
arrays
file
file-upload
image-uploading

2 ответа

0

файл не загружается, поэтому значение переменной tmp_name пустое. Для успешной загрузки необходимо иметь значение в этом varialbe.just проверить upload_max_filesize в файле php.ini и перезапустить веб-сервер после изменения этой переменной. Используя эту функцию в своем скрипте вверху, вы можете изменить этот varialbe в php.ini

ini_set("upload_max_filesize","300M");

здесь 300M menans вы можете загрузить файл размером до 300 МБ.

  • 0
    Спасибо за обнаружение ошибки. Подскажите, пожалуйста, как мне переопределить этот параметр из php.ini. Я не могу получить доступ к файлу php.ini на сервере, но для этой конкретной программы я хочу увеличить лимит загрузки. Как мне это сделать?
0

Вы можете видеть, что во время загрузки была ошибка. Документы говорят

Значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini.

Используйте файл меньшего размера или увеличьте размер в своей конфигурации.

  • 0
    Спасибо за обнаружение ошибки. Подскажите, пожалуйста, как мне переопределить этот параметр из php.ini. Я не могу получить доступ к файлу php.ini на сервере, но для этой конкретной программы я хочу увеличить лимит загрузки. Как мне это сделать?
  • 0
    Свяжитесь с вашим системным администратором или хостинговой компанией, чтобы изменить лимит.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню