(PHP 4 >= 4.3.0, PHP 5)
stream_set_timeout — Configure la durée d'expiration d'un flux
$stream
, int $seconds
[, int $microseconds
= 0
] )
stream_set_timeout() configure la durée d'expiration
du flux stream
, exprimé comme la durée de
seconds
secondes et
microseconds
microsecondes.
Lorsque le flux se termine, la clé 'timed_out' du tableau retourné par
stream_get_meta_data() est définie à TRUE
,
cependant, aucune erreur ou alerte n'est générée.
stream
Le flux cible.
seconds
Le nombre de secondes entières du délai d'expiration.
microseconds
Le nombre de microsecondes entières du délai d'expiration.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
4.3.0 | Depuis PHP 4.3, cette fonction peut (potentiellement) fonctionner avec n'importe quel flux. Avant PHP 4.3, les flux utilisant des sockets sont les seuls qui soient supportés dans le coeur de PHP, même si les autres extensions pourraient supporter cette fonction. |
Exemple #1 Exemple avec stream_set_timeout()
<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "Impossible d'ouvrir\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 'Délai de connexion dépassé !';
} else {
echo $res;
}
}
?>
Note:
Cette fonction ne fonctionne pas avec les opérations avancées comme stream_socket_recvfrom(), utilisez plutôt stream_select() avec une durée d'expiration en paramètre.
Cette fonction était appelée auparavant set_socket_timeout(), et aussi socket_set_timeout(), mais ces appellations sont obsolètes.