Source of: /manual/en/function.curl-getinfo.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.curl.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'function.curl-getinfo.php',
1 => 'curl_getinfo',
),
'up' =>
array (
0 => 'ref.curl.php',
1 => 'cURL Functions',
),
'prev' =>
array (
0 => 'function.curl-exec.php',
1 => 'curl_exec',
),
'next' =>
array (
0 => 'function.curl-init.php',
1 => 'curl_init',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="function.curl-getinfo" class="refentry">
<div class="refnamediv">
<h1 class="refname">curl_getinfo</h1>
<p class="verinfo">(PHP 4 >= 4.0.4, PHP 5)</p><p class="refpurpose"><span class="refname">curl_getinfo</span> — <span class="dc-title">Get information regarding a specific transfer</span></p>
</div>
<a name="function.curl-getinfo.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="type"><a href="language.pseudo-types.php#language.types.mixed" class="type mixed">mixed</a></span> <span class="methodname"><b>curl_getinfo</b></span>
( <span class="methodparam"><span class="type">resource</span> <tt class="parameter">$ch</tt></span>
[, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$opt</tt><span class="initializer"> = 0</span></span>
] )</div>
<p class="para rdfs-comment">
Gets information about the last transfer,
</p>
</div>
<a name="function.curl-getinfo.parameters"></a><div class="refsect1 parameters">
<h3 class="title">Parameters</h3>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">ch</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">A cURL handle returned by
<a href="function.curl-init.php" class="function">curl_init()</a>.</p></dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">opt</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
This may be one of the following constants:
</p><ul class="itemizedlist">
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_EFFECTIVE_URL</tt></b> - Last effective URL
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_HTTP_CODE</tt></b> - Last received HTTP code
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_FILETIME</tt></b> - Remote time of the retrieved document, if -1 is returned the time of the document is unknown
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_TOTAL_TIME</tt></b> - Total transaction time in seconds for last transfer
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_NAMELOOKUP_TIME</tt></b> - Time in seconds until name resolving was complete
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_CONNECT_TIME</tt></b> - Time in seconds it took to establish the connection
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_PRETRANSFER_TIME</tt></b> - Time in seconds from start until just before file transfer begins
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_STARTTRANSFER_TIME</tt></b> - Time in seconds until the first byte is about to be transferred
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_REDIRECT_TIME</tt></b> - Time in seconds of all redirection steps before final transaction was started
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_SIZE_UPLOAD</tt></b> - Total number of bytes uploaded
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_SIZE_DOWNLOAD</tt></b> - Total number of bytes downloaded
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_SPEED_DOWNLOAD</tt></b> - Average download speed
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_SPEED_UPLOAD</tt></b> - Average upload speed
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_HEADER_SIZE</tt></b> - Total size of all headers received
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_HEADER_OUT</tt></b> - The request string sent
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_REQUEST_SIZE</tt></b> - Total size of issued requests, currently only for HTTP requests
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_SSL_VERIFYRESULT</tt></b> - Result of SSL certification verification requested by setting <b><tt class="constant">CURLOPT_SSL_VERIFYPEER</tt></b>
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_CONTENT_LENGTH_DOWNLOAD</tt></b> - content-length of download, read from <i>Content-Length:</i> field
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_CONTENT_LENGTH_UPLOAD</tt></b> - Specified size of upload
</span>
</li>
<li class="listitem">
<span class="simpara">
<b><tt class="constant">CURLINFO_CONTENT_TYPE</tt></b> - <i>Content-Type:</i> of downloaded object, NULL indicates server did not send valid <i>Content-Type:</i> header
</span>
</li>
</ul><p>
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="function.curl-getinfo.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
If <i><tt class="parameter">opt</tt></i>
is given, returns its value as a string.
Otherwise, returns an associative array with the following elements
(which correspond to <i><tt class="parameter">opt</tt></i>
):
</p><ul class="itemizedlist">
<li class="listitem">
<span class="simpara">
"url"
</span>
</li>
<li class="listitem">
<span class="simpara">
"content_type"
</span>
</li>
<li class="listitem">
<span class="simpara">
"http_code"
</span>
</li>
<li class="listitem">
<span class="simpara">
"header_size"
</span>
</li>
<li class="listitem">
<span class="simpara">
"request_size"
</span>
</li>
<li class="listitem">
<span class="simpara">
"filetime"
</span>
</li>
<li class="listitem">
<span class="simpara">
"ssl_verify_result"
</span>
</li>
<li class="listitem">
<span class="simpara">
"redirect_count"
</span>
</li>
<li class="listitem">
<span class="simpara">
"total_time"
</span>
</li>
<li class="listitem">
<span class="simpara">
"namelookup_time"
</span>
</li>
<li class="listitem">
<span class="simpara">
"connect_time"
</span>
</li>
<li class="listitem">
<span class="simpara">
"pretransfer_time"
</span>
</li>
<li class="listitem">
<span class="simpara">
"size_upload"
</span>
</li>
<li class="listitem">
<span class="simpara">
"size_download"
</span>
</li>
<li class="listitem">
<span class="simpara">
"speed_download"
</span>
</li>
<li class="listitem">
<span class="simpara">
"speed_upload"
</span>
</li>
<li class="listitem">
<span class="simpara">
"download_content_length"
</span>
</li>
<li class="listitem">
<span class="simpara">
"upload_content_length"
</span>
</li>
<li class="listitem">
<span class="simpara">
"starttransfer_time"
</span>
</li>
<li class="listitem">
<span class="simpara">
"redirect_time"
</span>
</li>
</ul><p>
</p>
</div>
<a name="function.curl-getinfo.changelog"></a><div class="refsect1 changelog">
<h3 class="title">Changelog</h3>
<p class="para">
</p><table class="doctable informaltable">
<thead valign="middle">
<tr valign="middle">
<th>Version</th>
<th>Description</th>
</tr>
</thead>
<tbody valign="middle" class="tbody">
<tr valign="middle">
<td align="left">5.1.3</td>
<td align="left">
Introduced <b><tt class="constant">CURLINFO_HEADER_OUT</tt></b>.
</td>
</tr>
</tbody>
</table>
<p>
</p>
</div>
<a name="function.curl-getinfo.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 <b>curl_getinfo()</b> example</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">// Create a curl handle<br /></span><span style="color: #0000BB">$ch </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_init</span><span style="color: #007700">(</span><span style="color: #DD0000">'http://www.yahoo.com/'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Execute<br /></span><span style="color: #0000BB">curl_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Check if any error occured<br /></span><span style="color: #007700">if(!</span><span style="color: #0000BB">curl_errno</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">))<br />{<br /> </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #0000BB">curl_getinfo</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br /><br /> echo </span><span style="color: #DD0000">'Took ' </span><span style="color: #007700">. </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'total_time'</span><span style="color: #007700">] . </span><span style="color: #DD0000">' seconds to send a request to ' </span><span style="color: #007700">. </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'url'</span><span style="color: #007700">];<br />}<br /><br /></span><span style="color: #FF8000">// Close handle<br /></span><span style="color: #0000BB">curl_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$ch</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
</div>
</div><?php manual_footer(); ?>