Есть ли ограничение по размеру для публикации файла с помощью curl?

Мне нужно отправлять файлы до 50 мб на телеграмму бота api.

Теперь я использую Curl, и все проверено и успешно прошло. Значит, что я могу отправлять только небольшие файлы (я не могу отправить файл 8.1mb в свой тест). Поэтому, если я отправляю большие файлы (скажем, более 8 МБ), все переменные $_POST пусты, значит ничего не опубликовано.

Вопрос: Есть ли какие-либо ограничения при отправке файла с помощью curl? Поскольку я попросил администратора своего сервера увеличить соответствующую конфигурацию в php.ini, но они ответили, что это не проблема php.ini, и никаких ограничений в curl нет.

заблаговременно.

Ответ 1

Пределы загрузки - это функция безопасности. Без них программа-изгои или злоумышленник могут доставлять ваш сервер непрерывным потоком данных до тех пор, пока ваш жесткий диск не будет заполнен, что сделает весь сервер непригодным.

С точки зрения безопасности нецелесообразно ограничивать исходящие данные и, насколько мне известно, ни библиотека Curl, ни сам PHP не налагают никаких ограничений.

Ваши симптомы указывают на то, что проблема возникает на целевом сервере. Поскольку у вас есть доступ к нему (вы упоминаете, что получаете пустой $_POST), я предлагаю вам проверить пределы загрузки. Это то, что вы можете делать (и часто меняться) самостоятельно, вам не нужно спрашивать администратора сервера. Основные задействованные директивы включают:

  • post_max_size
  • upload_max_filesize
  • max_file_uploads
  • max_input_time

Вы можете проверить их с помощью phpinfo() или ini_get(), и вы можете изменить их обычным способом.