web-dev-qa-db-ja.com

カールは自動的に結果を表示しますか?

私はphp5.3.2を使用しており、curlを実行すると、printまたはecho関数を追加せずに結果を直接表示します。

これが私のコードです:

<?php
$pvars = array('query' => 'ice age', 'orderby' => 'popularity');
$timeout = 30;
$myurl = "http://www.website.com";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $myurl);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$xml = curl_exec($curl);
curl_close ($curl);
?>

コードの何が問題になっていて、なぜ結果が表示されるのですか?

19
Emily

デフォルトでは、curl拡張機能は結果を出力します。

次のように、CURLOPT_RETURNTRANSFERオプションを有効にする必要があります。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

そのオプションを有効にすると、代わりにcurl_execが結果を返します。

37
Brian McKenna