Публикация картинок

При публикации картинок большого размера, картинки не вставляются в топик, но пользователь не получает никакого сообщения. Как сделать, что бы пользователь получал сообщение «Размер загружаемой картинки слишком большой, уменьшите его и загрузите снова»?

14 комментариев

avatar
Как сделать, что бы пользователь получал сообщение «Размер загружаемой картинки слишком большой, уменьшите его и загрузите снова»?
для начала проверить поддерживает ли ваш сервер загрузку таких больших файлов (см. соотв. разделы пхп.ини)
avatar
В конфиге стоит:

$config['view']['img_max_width'] = 2000;    // максимальная ширина загружаемых изображений в пикселях
$config['view']['img_max_height'] = 2000;    // максимальная высота загружаемых изображений в пикселях
$config['view']['img_max_size_url'] = 1000;    // максимальный размер картинки в kB для загрузки по URL


Соответственно, при попытке загрузить картинку, размером 2 мб он ее не загружает. Пару секунд крутится загрузка, потом все исчезает, и картинка в топик не вставилась. Сообщения о том, что «картинка недопустимого размера» не выводится, что приводит к замешательству пользователя, загружающего картинку и его обращению к администратору сайта, почему он не может вставить картинку.
avatar
Сообщения о том, что «картинка недопустимого размера» не выводится, что приводит к замешательству пользователя, загружающего картинку и его обращению к администратору сайта, почему он не может вставить картинку.

для начала проверить поддерживает ли ваш сервер загрузку таких больших файлов (см. соотв. разделы пхп.ини)

проверить все значения:
memory_limit >> post_max_size >> upload_max_filesize
http://php.net/manual/ru/ini.core.php#ini.post-max-size

а также
max_execution_time 
max_input_time
max_file_uploads
avatar
ХМ… написал в техподдержку, жду ответа.
avatar
upload_max_filesize 2M 2M
max_execution_time 30 30
max_input_time -1 -1
max_file_uploads 20 20
avatar
вот и ответ. увеличьте upload_max_filesize
avatar
на сколько? и что произойдет при этом?
avatar
на сколько нужно увеличить upload_max_filesize?
avatar
Файлы какого размера Вы планируете заливать, такое значение и укажите. Например, для 5-мегабайтных файлов — 5M.
avatar
Речь не об этом. У меня в конфиге стоит ограничение до 1 мб. При попытке залить картинку большего размера, картинка не вставляется, но никакого сообщения не выдается. Предполагается, что пользователь должен получать следующее: «картинка слишком большого размера»
avatar
Вы учитываете, что параметр img_max_size_url влияет только на изображения, вставляемые по ссылке?
Для загружаемых с компьютера файлов — ограничения в самом LS нет. Поэтому, если файл заливается с компьютера — вступают в действия системные ограничения PHP.
avatar
да, действительно, спасибо.
Тем не менее, при попытке загрузки большой картинки сайт просто отбрасывает ее не давая пользователю никаких сообщений.
Есть ли пути решения этой проблемы?
avatar
Дело в том, что при нормальной работе, сообщения об ошибке выдаются. Т.е. проверка на окончание загрузки файла, на наличие самого файла — есть.
По ситуации складывается впечатление, что файл вообще не доходит до функции обработки (обрывается по таймауту или еще по каким-либо причинам).
В лог-файлах сервера сообщения об ошибках есть?
avatar
Проверять на стороне сервера можно так:
if( !empty($_SERVER['CONTENT_LENGTH']) && empty($_FILES) && empty($_POST) ) {}

Потом отсылать уведомление пользователю.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.