php-doc-en/reference/curl/functions/curl-multi-info-read.xml
Christoph Michael Becker b7f8c11e56 Generate curl methodsynopses based on stubs
Amended by cmb.

Closes GH-231.


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@351621 c90b9560-bf6c-de11-be94-00142212c4b1
2020-11-25 00:58:58 +00:00

211 lines
5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.curl-multi-info-read" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>curl_multi_info_read</refname>
<refpurpose>Get information about the current transfers</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>curl_multi_info_read</methodname>
<methodparam><type>CurlMultiHandle</type><parameter>multi_handle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">queued_messages</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Ask the multi handle if there are any messages or information from the individual transfers.
Messages may include information such as an error code from the transfer or just the fact
that a transfer is completed.
</para>
<para>
Repeated calls to this function will return a new result each time, until a &false; is returned
as a signal that there is no more to get at this point. The integer pointed to with
<parameter>queued_messages</parameter> will contain the number of remaining messages after this
function was called.
</para>
<warning>
<para>
The data the returned resource points to will not survive calling
<function>curl_multi_remove_handle</function>.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&curl.mh.description;
<varlistentry>
<term><parameter>queued_messages</parameter></term>
<listitem>
<para>
Number of messages that are still in the queue
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
On success, returns an associative array for the message, &false; on failure.
</para>
<para>
<table>
<title>Contents of the returned array</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key:</entry>
<entry>Value:</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>msg</literal></entry>
<entry>The <constant>CURLMSG_DONE</constant> constant. Other return values
are currently not available.</entry>
</row>
<row>
<entry><literal>result</literal></entry>
<entry>One of the <constant>CURLE_*</constant> constants. If everything is
OK, the <constant>CURLE_OK</constant> will be the result.</entry>
</row>
<row>
<entry><literal>handle</literal></entry>
<entry>Resource of type curl indicates the handle which it concerns.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&curl.changelog.multi-handle-param;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>curl_multi_info_read</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$urls = array(
"http://www.cnn.com/",
"http://www.bbc.co.uk/",
"http://www.yahoo.com/"
);
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
$conn[$i] = curl_init($url);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($mh, $conn[$i]);
}
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
while (false !== ($info = curl_multi_info_read($mh))) {
var_dump($info);
}
} while ($active && $status == CURLM_OK);
foreach ($urls as $i => $url) {
$res[$i] = curl_multi_getcontent($conn[$i]);
curl_close($conn[$i]);
}
var_dump(curl_multi_info_read($mh));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
array(3) {
["msg"]=>
int(1)
["result"]=>
int(0)
["handle"]=>
resource(5) of type (curl)
}
array(3) {
["msg"]=>
int(1)
["result"]=>
int(0)
["handle"]=>
resource(7) of type (curl)
}
array(3) {
["msg"]=>
int(1)
["result"]=>
int(0)
["handle"]=>
resource(6) of type (curl)
}
bool(false)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>curl_multi_init</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->