curl_getinfo
(PHP 4 >= 4.0.4, PHP 5)
curl_getinfo — 指定した伝送に関する情報を得る
パラメータ
-
ch -
curl_init() が返す cURL ハンドル。
-
opt -
これは、以下のいずれかの定数となります。
-
CURLINFO_EFFECTIVE_URL- 直近の有効な URL -
CURLINFO_HTTP_CODE- 最後に受け取った HTTP コード -
CURLINFO_FILETIME- ドキュメントを取得するのにかかった時間。 取得できなかった場合は -1 -
CURLINFO_TOTAL_TIME- 直近の伝送にかかった秒数 -
CURLINFO_NAMELOOKUP_TIME- 名前解決が完了するまでにかかった秒数 -
CURLINFO_CONNECT_TIME- 接続を確立するまでにかかった秒数 -
CURLINFO_PRETRANSFER_TIME- 開始からファイル伝送がはじまるまでにかかった秒数 -
CURLINFO_STARTTRANSFER_TIME- 最初のバイトの伝送がはじまるまでの秒数 -
CURLINFO_REDIRECT_COUNT- リダイレクト処理の回数 -
CURLINFO_REDIRECT_TIME- 伝送が始まるまでのリダイレクト処理の秒数 -
CURLINFO_SIZE_UPLOAD- アップロードされたバイト数 -
CURLINFO_SIZE_DOWNLOAD- ダウンロードされたバイト数 -
CURLINFO_SPEED_DOWNLOAD- 平均のダウンロード速度 -
CURLINFO_SPEED_UPLOAD- 平均のアップロード速度 -
CURLINFO_HEADER_SIZE- 受信したヘッダのサイズ -
CURLINFO_HEADER_OUT- 送信したリクエスト文字列。 これを動作させるには、 curl_setopt() をコールする際にCURLINFO_HEADER_OUTオプションを使うようにしておく必要があります。 -
CURLINFO_REQUEST_SIZE- 発行されたリクエストのサイズ。現在は HTTP リクエストの場合のみ -
CURLINFO_SSL_VERIFYRESULT-CURLOPT_SSL_VERIFYPEERを設定した際に要求される SSL 証明書の認証結果 -
CURLINFO_CONTENT_LENGTH_DOWNLOAD- ダウンロードされるサイズ。 Content-Length: フィールドの内容を取得する -
CURLINFO_CONTENT_LENGTH_UPLOAD- アップロードされるサイズ。 -
CURLINFO_CONTENT_TYPE- 要求されたドキュメントの Content-Type:。 NULL は、サーバーが適切な Content-Type: ヘッダを返さなかったことを示す
-
返り値
opt を指定した場合は、その値を文字列で返します。
それ以外の場合は、以下の要素をもつ連想配列を返します
(それぞれの要素が opt に対応します)。
失敗した場合は FALSE を返します。
- "url"
- "content_type"
- "http_code"
- "header_size"
- "request_size"
- "filetime"
- "ssl_verify_result"
- "redirect_count"
- "total_time"
- "namelookup_time"
- "connect_time"
- "pretransfer_time"
- "size_upload"
- "size_download"
- "speed_download"
- "speed_upload"
- "download_content_length"
- "upload_content_length"
- "starttransfer_time"
- "redirect_time"
- "certinfo"
-
"request_header" (これが設定されるのは、事前に curl_setopt()
をコールしたときに
CURLINFO_HEADER_OUTを設定した場合のみです)
変更履歴
| バージョン | 説明 |
|---|---|
| 5.1.3 |
CURLINFO_HEADER_OUT が追加されました。
|
例
例1 curl_getinfo() の例
<?php
// curl ハンドルを作成します
$ch = curl_init('http://www.yahoo.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'];
}
// ハンドルを閉じます
curl_close($ch);
?>
注意
注意:
この関数で収集した情報を、ハンドルを再利用するとそのまま保持されます。 つまり、この関数で内部的に統計情報を上書きしない限りは以前の情報が返されるということです。