PHPで大きなファイルをカールで送る方法


PHPでHTTPリクエストで2ギガバイト以上の大きなファイルを送信するには容易ではありません.
私はguzzleに苦労していました、そして、何日ものララベルHTTPクライアント.設定でもmemory_limit = 5G 私のような記憶や書き込みの問題があった.fwrite(): Write of xxxx bytes failed with errno=0 No errorPHP Curl拡張モジュールで最終的に作ることができました
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$headers = [];
$headers[] = 'Content-Type: multipart/form-data';
$headers[] = 'Cookie: something...';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
$path = '/full/path/to/file';
$file = curl_file_create(realpath($path));
$post = [   
    'file' => $file,
    'other_field' => 'value',
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
var_dump($result,$httpcode);
それはあなたを助けることを望む!
次の記事では、どのようにチャンクをあなたのlaravelアプリに大きなファイルをアップロードする方法を説明します.