(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
stream_set_timeout — Configure la durée d'expiration d'un flux
$stream, int $seconds, int $microseconds = 0): bool
   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.
  
streamLe flux cible.
secondsLe nombre de secondes entières du délai d'expiration.
microsecondsLe 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.
  
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.