How to POST a large amount of data within PHP curl without memory overhead?

后端 未结 1 982
我寻月下人不归
我寻月下人不归 2020-12-21 09:05

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 cal

相关标签:
1条回答
  • 2020-12-21 10:05

    Use CURLOPT_INFILE

    $curl = curl_init();
    curl_setopt( $curl, CURLOPT_PUT, 1 );
    curl_setopt( $curl, CURLOPT_INFILESIZE, filesize($tmpFile) );
    curl_setopt( $curl, CURLOPT_INFILE, ($in=fopen($tmpFile, 'r')) );
    curl_setopt( $curl, CURLOPT_CUSTOMREQUEST, 'POST' );
    curl_setopt( $curl, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json' ] );
    curl_setopt( $curl, CURLOPT_URL, $url );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
    $result = curl_exec($curl);
    curl_close($curl);
    fclose($in);
    
    0 讨论(0)
提交回复
热议问题