curl_getinfo
(PHP 4 >= 4.0.4, PHP 5)
curl_getinfo — Get information regarding a specific transfer
Description
Gets information about the last transfer.
Parameters
- ch
-
A cURL handle returned by curl_init().
- opt
-
This may be one of the following constants:
- CURLINFO_EFFECTIVE_URL - Last effective URL
- CURLINFO_HTTP_CODE - Last received HTTP code
- CURLINFO_FILETIME - Remote time of the retrieved document, if -1 is returned the time of the document is unknown
- CURLINFO_TOTAL_TIME - Total transaction time in seconds for last transfer
- CURLINFO_NAMELOOKUP_TIME - Time in seconds until name resolving was complete
- CURLINFO_CONNECT_TIME - Time in seconds it took to establish the connection
- CURLINFO_PRETRANSFER_TIME - Time in seconds from start until just before file transfer begins
- CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte is about to be transferred
- CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps before final transaction was started
- CURLINFO_SIZE_UPLOAD - Total number of bytes uploaded
- CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded
- CURLINFO_SPEED_DOWNLOAD - Average download speed
- CURLINFO_SPEED_UPLOAD - Average upload speed
- CURLINFO_HEADER_SIZE - Total size of all headers received
- CURLINFO_HEADER_OUT - The request string sent. For this to work, the CURLINFO_HEADER_OUT to the handle by calling curl_setopt()
- CURLINFO_REQUEST_SIZE - Total size of issued requests, currently only for HTTP requests
- CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
- CURLINFO_CONTENT_LENGTH_DOWNLOAD - content-length of download, read from Content-Length: field
- CURLINFO_CONTENT_LENGTH_UPLOAD - Specified size of upload
- CURLINFO_CONTENT_TYPE - Content-Type: of the requested document, NULL indicates server did not send valid Content-Type: header
Return Values
If opt is given, returns its value as a string. Otherwise, returns an associative array with the following elements (which correspond to opt):
- "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" (This is only set if the CURLINFO_HEADER_OUT is set by a previous call to curl_setopt())
Changelog
Version | Description |
---|---|
5.1.3 | Introduced CURLINFO_HEADER_OUT. |
Examples
Example #1 curl_getinfo() example
<?php
// Create a curl handle
$ch = curl_init('http://www.yahoo.com/');
// Execute
curl_exec($ch);
// Check if any error occured
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
// Close handle
curl_close($ch);
?>
Notes
Note:
Information gathered by this function is kept if the handle is re-used. This means that unless a statistic is overridden internally by this function, the previous info is returned.