(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
curl_getinfo — 指定した伝送に関する情報を得る
option
を指定した場合は、その値を返します。
それ以外の場合は、以下の要素をもつ連想配列を返します
(それぞれの要素が option
に対応します)。
失敗した場合は false
を返します。
CURLINFO_HEADER_OUT
を設定した場合のみです)
CURLINFO_PRIVATE
オプションで個別に取得しなければいけないことに注意しましょう。
バージョン | 説明 |
---|---|
8.3.0 |
CURLINFO_CAINFO
と CURLINFO_CAPATH が追加されました。
|
8.2.0 |
CURLINFO_PROXY_ERROR ,
CURLINFO_REFERER ,
CURLINFO_RETRY_AFTER が追加されました。
|
8.0.0 |
handle は CurlHandle クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、resource を期待していました。
|
8.0.0 |
option は nullable になりました。
これより前のバージョンでは、デフォルト値は 0 でした。
|
7.3.0 |
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T ,
CURLINFO_CONTENT_LENGTH_UPLOAD_T ,
CURLINFO_HTTP_VERSION ,
CURLINFO_PROTOCOL ,
CURLINFO_PROXY_SSL_VERIFYRESULT ,
CURLINFO_SCHEME ,
CURLINFO_SIZE_DOWNLOAD_T ,
CURLINFO_SIZE_UPLOAD_T ,
CURLINFO_SPEED_DOWNLOAD_T ,
CURLINFO_SPEED_UPLOAD_T ,
CURLINFO_APPCONNECT_TIME_T ,
CURLINFO_CONNECT_TIME_T ,
CURLINFO_FILETIME_T ,
CURLINFO_NAMELOOKUP_TIME_T ,
CURLINFO_PRETRANSFER_TIME_T ,
CURLINFO_REDIRECT_TIME_T ,
CURLINFO_STARTTRANSFER_TIME_T ,
CURLINFO_TOTAL_TIME_T が追加されました。
|
例1 curl_getinfo() の例
<?php
// cURL ハンドルを作成します
$ch = curl_init('http://www.example.com/');
// 実行します
curl_exec($ch);
// エラーが発生したかどうかを確認します
if (!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
}
// ハンドルを閉じます
curl_close($ch);
?>
例2 curl_getinfo() で option
パラメータを使う例
<?php
// cURL ハンドルを作成します
$ch = curl_init('http://www.example.com/');
// 実行します
curl_exec($ch);
// HTTP ステータスコードを調べます
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
break;
default:
echo 'Unexpected HTTP code: ', $http_code, "\n";
}
}
// ハンドルを閉じます
curl_close($ch);
?>
注意:
この関数で収集した情報を、ハンドルを再利用するとそのまま保持されます。 つまり、この関数で内部的に統計情報を上書きしない限りは以前の情報が返されるということです。