Php/docs/function.stream-set-timeout

提供:Dev Guides
< Php
移動先:案内検索

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_timeoutストリームにタイムアウトを設定する


説明

stream_set_timeout ( resource $stream , int $seconds [, int $microseconds = 0 ] ) : bool

stream にタイムアウトの値を設定します。 この値は、secondsmicroseconds の和で表されます。

ストリームがタイムアウトとなった場合は、 stream_get_meta_data() が返す配列のキー 'timed_out' の値が true に設定されます。エラーや警告が発生していなくても同様になります。


パラメータ

stream
対象となるストリーム。
seconds
設定したいタイムアウトの秒数部分。
microseconds
設定したいタイムアウトのマイクロ秒数部分。


返り値

成功した場合に true を、失敗した場合に false を返します。


例1 stream_set_timeout() の例

<?php$fp = fsockopen("www.example.com", 80);if (!$fp) {    echo "開けません\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 'Connection timed out!';    } else {        echo $res;    }}?>

注意

注意:

この関数では、stream_socket_recvfrom() のような 高度な操作はできません。そのかわりに、timeout パラメータを指定して stream_select() を使用してください。

この関数は、以前は set_socket_timeout() 、その後は socket_set_timeout() と呼ばれたこともありましたが、 これらの利用は推奨されません。


参考

  • fsockopen() - インターネット接続もしくは Unix ドメインソケット接続をオープンする
  • fopen() - ファイルまたは URL をオープンする