Задать вопрос
@webpixel

Как быть с CURLOPT_POSTFIELDS и file_get_contents?

Приветствую, знатоки! Столкнулся с такой ситуацией, нужно на один сервис выгружать бекапы, средний размер файлов 1-2 GB, у этого сервиса есть API для выгрузки файлов, в котором используется вот такой метод для отправки файлов:

curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file));


Как Вы знаете file_get_contents помещает весь файл в ОЗУ и по-этому с таким размером файлов как у меня, я естественно получаю ошибку нехватки памяти.

Подскажите как обойти этот не приятный момент, если нет физической возможности увеличить размер выделяемой памяти? на сервере всего 512 ОЗУ. Большое спасибо.
  • Вопрос задан
  • 250 просмотров
Подписаться 1 Простой 2 комментария
Решение пользователя Melkij К ответам на вопрос (2)
Melkij
@Melkij
DBA Team для вашего PostgreSQL?
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_INFILE, fopen('pathtofile', 'rb'));

Должно быть то что нужно.
Ответ написан