stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

stream_set_timeout -- Configure la durée d'expiration d'un flux

Description

bool stream_set_timeout ( resource stream, int seconds [, int microseconds] )

stream_set_timeout() configure la durée d'expiration du flux stream,exprimé comme la durée de seconds secondes et microseconds micro-secondes.

Lorsque le flux se termine, la clé 'timed_out' du tableau retourné par stream_get_meta_data() est défini à TRUE, cependant, aucune erreur/alerte n'est générée.

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 : 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.

stream_set_timeout() était appelée auparavant set_socket_timeout(), et aussi socket_set_timeout() mais ces appellations sont obsolètes.

Voir aussi fsockopen() et fopen().