php-doc-en/reference/curl/functions/curl-multi-info-read.xml
Daniel Egeberg 2b587ab01f Normalized initializer NULL-values to use the &null; entity:
for file in `find -name '*.xml'`; do sed -i -e 's/<initializer>null<\/initializer>/<initializer>\&null;<\/initializer>/i' $file; done



git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@298918 c90b9560-bf6c-de11-be94-00142212c4b1
2010-05-03 17:10:04 +00:00

217 lines
5.1 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>array</type><methodname>curl_multi_info_read</methodname>
<methodparam><type>resource</type><parameter>mh</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">msgs_in_queue</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>msgs_in_queue</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>msgs_in_queue</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="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);
$info = curl_multi_info_read($mh);
if (false !== $info) {
var_dump($info);
}
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);
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="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.2.0</entry>
<entry>
<parameter>msgs_in_queue</parameter> was added.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</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
-->