Just to let others who might be struggling to get it to work, curl_multi_info_read() doesn't work in PHP versions before 5.2.0, and instead returns NULL immediately.(PHP 5, PHP 7, PHP 8)
curl_multi_info_read â Geçerli oturum hakkında bilgi döndĂŒrĂŒr
$çoklu_tanıtıcı, int &$iletiler = null): array|falseĂoklu tanıtıcıyı aktarımlardan dönen bilgi veya iletiler bakımından sorgular. İletiler aktarımdaki veya aktarım tamamlandıÄı andaki bir hata kodu gibi bir bilgi içerebilir.
Bu iĆleve yapılan her yeni çaÄrı false dönmedikçe yeni bir sonuç
döndĂŒrĂŒr. false alınacak bilgi kalmadıÄı anlamına gelir.
iletiler baÄımsız deÄiĆkeni iĆlev çaÄrısından sonra kalan
iletilerin sayısını içerir.
Dönen özkaynaÄın gösterdiÄi veri curl_multi_remove_handle() çaÄrılıncaya kadar tutulur.
tanıtıcı
curl_multi_init() iĆlevinden dönen çoklu cURL tanıtıcısı.
iletilerKuyrukta bekleyen iletilerin sayısı.
BaĆarı durumunda ileti için bir iliĆkili dizi yoksa false döner.
| Anahtar: | DeÄer: |
|---|---|
msg |
CURLMSG_DONE sabiti. DiÄer dönĂŒĆ deÄerleri
kullanılabilir deÄil. |
result |
CURLE_* sabitlerinden biri. HerĆey
tamamsa, sonuç CURLE_OKolur. |
handle |
Curl tĂŒrĂŒnĂŒn özkaynaÄı, ilgili tanıtıcıyı gösterir. |
| SĂŒrĂŒm: | Açıklama |
|---|---|
| 8.0.0 | çoklu_tanıtıcı artık bir
CurlMultiHandle örneÄi bekliyor; evvelce
resource tĂŒrĂŒnde bir deÄer beklenirdi. |
Ărnek 1 - curl_multi_info_read() örneÄi
<?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));
?>Yukarıdaki örnek Ćuna benzer bir çıktı ĂŒretir:
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)
Just to let others who might be struggling to get it to work, curl_multi_info_read() doesn't work in PHP versions before 5.2.0, and instead returns NULL immediately.