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ı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ı.
iletiler
Kuyrukta 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_OK olur. |
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.