itradestorez
18.05.2020 10:44
0
Подскажите ставлю (upload|post)_max_size 5 MB то есть максимальный размер файла при загрузке 5 мегабайт, но если мы попытаемся загрузить 6 фотографий по 1 МБ то загрузка не удастся. Как сделать так, чтобы max_size был 5 МБ но при этом можно было загрузить 10 фото по 1 МБ за раз?
Сергей М.
18.05.2020 10:50
0
Если 6 фото по 1мб загружаются одним запросом то это уже превышение лимита (upload|post)_max_size 5 MB
Нужно либо увеличить лимит, либо загружать каждое фото отдельным запросом.
Вообще лучше напишите в техподдержку, могут быть разные нюансы, в частности ModSecurity
itradestorez
18.05.2020 10:56
0
max_file_uploads если указать 20, а max_size 1МБ то по идее мы можем загрузить 20 файлов по 1 мб нет? просто не найду где это меняется

в общем суть такая max_file_size надо сделать 5 МБ но сам запрос может быть 10 МБ (10 файлов по 1 МБ)
itradestorez
18.05.2020 10:59
-1
сейчас проблема такая, я поставил (upload|post)_max_size 32 MB, тупые юзверы начинают грузить фото по 30 мегабайт за штуку. Окей я ставлю (upload|post)_max_size 5 MB, тогда другие юзверы начинают жаловаться что не могут загрузить 6 фото по 1 МБ за раз.

в общем получается тупик, либо разрешать (upload|post)_max_size 32 МБ тогда будут жеские фотки по 30 МБ загружать, либо ставить (upload|post)_max_size 5 МБ тогда за раз неполучится загрузить 6 фото по 1МБ. И так и так неподходит. Что делать?
LitvinenkoAndrey
18.05.2020 11:00
0
.
itradestorez
18.05.2020 11:04
0
скриптом я вспотею проверки ставить на зоопарк CMS от Wordpress до самописов, от админок до личных кабинетов юзверей, может как-то сервером можно нахлобучить этот момент?
Сергей М.
18.05.2020 11:10
0
post_max_size - Устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов. Для загрузки больших файлов это значение должно быть больше значения директивы upload_max_filesize.
upload_max_filesize - Максимальный размер закачиваемого файла.
На хостинге эти 2 значения настраиваются одним параметром (upload|post)_max_size и они равны.

То есть чтобы решить Вашу задачу нужно просто поднять значение (upload|post)_max_size.
Сергей М.
18.05.2020 11:12
0
скриптом я вспотею проверки ставить на зоопарк CMS от Wordpress до самописов, от админок до личных кабинетов юзверей, может как-то сервером можно нахлобучить этот момент?© itradestorez

Лимит размера отдельного файла нужно настраивать именно на уровне скрипта сайта. Так Вы сможете пользователю выводить ошибку при необходимости. Большинство CMS это умеет делать из коробки
itradestorez
18.05.2020 11:12
0
поднимать (upload|post)_max_size. не вариант, они начинают тогда грузить фото по 30 мегабайт прям с зеркалки как есть без обработки
itradestorez
18.05.2020 11:15
0
upload_max_filesize
max_file_uploads
вот это как-то можно отдельно настроить?
Сергей М.
18.05.2020 11:18
0
Значение upload_max_filesize и post_max_size можете менять одним параметром.
Смена max_file_uploads в ПУ хостинга не предусмотрена
Сергей М.
18.05.2020 11:20
0
Как ограничить размер файлов на стороне клиента и сервера можете посмотреть в документации https://www.php.net/manual/ru/features.file-upload.post-method.php
itradestorez
18.05.2020 11:21
-1
да я даже прочитать это не осилю, не то чтобы делать на сотне сайтов
Сергей М.
18.05.2020 11:25
0
Как вариант можете попробовать переопределить значение переменных на уровне скрипта
Сергей М.
18.05.2020 11:26
0
ini_set( 'upload_max_size' , '20M' );
ini_set( 'post_max_size', '20M');
Но не уверен что это сработает, нужно тестировать.
Roman P.
18.05.2020 13:26
0
поднимать (upload|post)_max_size. не вариант, они начинают тогда грузить фото по 30 мегабайт прям с зеркалки как есть без обработки© itradestorez

Можно поставить скрипт, который будет проверять размер файла, и если загруженный файл больше, к примеру, 2 МБ, то его удалять и сообщать пользователю о том, что файл слишком большой, даже не ссмотря на то, что (upload|post)_max_size = 30 МБ

Еще один вариант: поставить JS-скрипт и через него загружать файлы. Насколько я помню, можно сделать так, чтобы каждый файл обрабатывался отдельно (по очереди), а не грузил все файлы сразу. Тогда Вы уложитесь в лимит 2-5 Мб на каждый файл в отдельности.


Опять же - это нужно делать для каждого сайт отдельно. Универнальных настроек не получится сделать под все сайты сразу.
itradestorez
18.05.2020 18:34
-1
это очень сложно сделать на десятке сайтов, разные CMS/Самописы/Форумы и так далее, где файлы загружаются не только в админки но и с фронта в личных кабинетах и так далее, проще сервером сделать, но почему-то это все управляется одной переменной, вместо двух.
rudenko
20.05.2020 00:09
0
IMHO проблему пытаетесь решить не тем способом, поэтому не получается. Напишите простой скрипт, который будет сжимать фотографии до нужного размера и проходитесь им по директории. Пользователи будут счастливы - им сколько и какое хочешь качать можно и диск не будет переполнен. Копать в сторону команды convert с пакета ImageMagick, вроде он есть на серверах.

Для примера скрипт на bash (не проверял на функционирование)
forfilein/home/user/site.com/www/img/*.jpg; do convert $file-quality95 compressed-$file; done
itradestorez
20.05.2020 01:10
0
ну этим скриптом вы просто качество сделали 95%, фотография 10 мб ужмется до 8 мб максимум. Это немного не то
rudenko
20.05.2020 01:21
0
ну этим скриптом вы просто качество сделали 95%, фотография 10 мб ужмется до 8 мб максимум. Это немного не то© itradestorez


Это примерный скрипт, там можно что угодно делать и размер менять и качество. Тут вам видней какие параметры ставить в зависимости от того, с какой целью пользователи закачивают изображения. И по большей стороне уменьшать и по меньшей. http://www.imagemagick.org/Usage/resize/#shrink
itradestorez
20.05.2020 01:23
0
было бы проще поставить лимит 2 МБ на фото но чтобы можно было заливать 10 штук за раз, то есть общий лимит запроса 20МБ но лимит файла 2МБ
это гораздо удобнее, кроме того пользователь заранее может обрезать фото как ему надо, а если начать срезать по ширине или высоте то на выходе можно обрезать нужные фрагменты и получить еще больше жалоб от пользователей что загрузил одно а получил другое
Сергей М.
20.05.2020 09:21
0
Даже если Вы измените параметры php начнутся проблемы с загрузкой файлов пользователями. Потому что скрипт будет уходить в ошибку, а пользователь не будет понимать почему так. Как уже выше писал нужна проверка на стороне клиента и сервера с выводом сообщения клиенту.
itradestorez
20.05.2020 13:05
0
хм. я думал будет какой-то alert, тогда да, придется шаманить со скриптами, что очень неудобно
Тема закрита.