1

PHP CLIのcURLリソースに対して、ダウンロードしたコンテンツを保存する場所に関するファイルストリームを設定しました。ここでcurl_setopt(CURLOPT_FILE, $handle)、$ handleは、書き込み可能な有効なファイルリソースです。

ここで、同じcurlリソースを再利用し、ファイルハンドルをクリアして、curlリクエストを実行し、出力バッファリングを使用して出力をキャプチャできるようにします。

私はあなたがすることになっていることを読みましたcurl_setopt(CURLOPT_FILE, STDOUT)、しかしそれに関する問題はそれが出力バッファをバイパスすることです、そして私が実行するどんな要求も私のCLIに出力され、出力バッファリングによって捕らえられません。また、ファイルハンドルを閉じようとしましたが、応答が無効になりました。

だから誰かが解決策を知っていますか?

4

1 に答える 1

2

CURLOPT_RETURNTRANSFER を true に設定してみてください。これにより、ファイルへの書き込みがオーバーライドされます。

curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl_handle);

ヘッダーを取得するには

curl_setopt($curl_handle , CURLOPT_HEADER , true);
$result = curl_exec($curl_handle);
list($header , $data) = explode("\r\n\r\n" , $result , 2);
于 2012-11-06T13:15:26.270 に答える