私は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);
?>
コードの何が問題になっていて、なぜ結果が表示されるのですか?
デフォルトでは、curl拡張機能は結果を出力します。
次のように、CURLOPT_RETURNTRANSFER
オプションを有効にする必要があります。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
そのオプションを有効にすると、代わりにcurl_exec
が結果を返します。