Допустим, у меня есть большой файл, который я хочу HTTP POST для веб-службы, используя PHP и curl.Файл больше, чем объем памяти, который я могу позволить PHP использовать.
В основном я ищу способ для потоковой передачи содержимого файла непосредственно в curl, без чтения всего файла в память.
Я успешно использую составные POST и PUT, но не загружаю «двоичные данные» с помощью POST.
Что я хочу достичь в PHP, это то, что делает эта командная строка:
$ curl -X POST -H "Content-Type: image/jpeg" \
--data-binary "@large.jpg" "http://example.com/myservice"
Перепробовал много опций с curl_setopt, таких как INFILE, POSTFIELDS, заголовок Content-Type, но не повезло.
Хотя он работает с multipart, но мне нужен необработанный запрос POST, без множителей:
$post['file'] = "@large.jpg";
curl_setopt($c, CURLOPT_POSTFIELDS, $post);