I'm currently using PHP curl extension to communicate with some HTTP APIs.
I use a bulk loader to perform a lot of operations at once. The bulk endpoint must be called with POST method so I use a code like :
<?php $h = curl_init($url); curl_setopt(CURLOPT_POST, true); curl_setopt(CURLOPT_POSTFIELDS, $data); curl_setopt(CURLOPT_RETURNTRANSFER, true); $response = curl_exec($h); curl_close($h);
The bulk endpoint allows me to send a huge amount of data (more than 200Mo at once). For the moment I need to load the data inside a variable which require PHP to be able to use enough memory...
I need to set
memory_limit to a high value just for the bulk load...
Is there a way to use a file stream to send data with the curl PHP extension ? I saw the
CURLOPT_READFUNCTION but it seems to don't work with POST method...
I also saw that the curl command line tool is able to perform a
--data "@/path/to/file/content" which seems to be what I need...
Any ideas ?