(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_set_timeout — Akımın zaman aşımı süresini ayarlar
$akım
, int $saniye
[, int $mikrosaniye
= 0
] ) : bool
Belirtilen akım
'ın zaman aşımı süresini
saniye
ve mikrosaniye
toplamına ayarlar.
Akım zaman aşımına uğrarsa stream_get_meta_data() işlevi
tarafından döndürülen dizinin 'timed_out' anahtarına
TRUE
atanır, fakat herhangi bir hata veya uyarı üretilmez.
akım
Hedef akım.
saniye
Zaman aşımı süresinin saniye sayısı.
mikrosaniye
Zaman aşımı süresinin son saniyesinden sonraki mikrosaniyelerin sayısı.
Başarı durumunda TRUE
, başarısızlık durumunda FALSE
döner.
Sürüm: | Açıklama |
---|---|
4.3.0 | PHP 4.3'ten itibaren bu işlev (hemen hemen) her çeşit akımla çalışabilmektedir. PHP 4.3'te soketlere dayalı akımlar, PHP çekirdeği tarafından desteklenen tek akım türü olmakla beraber diğer eklentilerdeki akımlar bu işlevi destekleyebiliyordu. |
Örnek 1 - stream_set_timeout() örneği
<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "Dosya açılamadı\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 2000);
$info = stream_get_meta_data($fp);
fclose($fp);
if ($info['timed_out']) {
echo 'Bağlantı zaman aşımına uğradı!';
} else {
echo $res;
}
}
?>
Bilginize:
Bu işlev, stream_socket_recvfrom() gibi ileri düzey işlemler için çalışmaz. Onlar için zaman aşımını stream_select() işlevi ile ayarlayın.
Bu işlevin ismi başta set_socket_timeout() idi, sonra socket_set_timeout() oldu, fakat artık bu isimlerin kullanımı önerilmiyor.