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
にタイムアウトの値を設定します。
この値は、seconds
と
microseconds
の和で表されます。
ストリームがタイムアウトとなった場合は、
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() と呼ばれたこともありましたが、 これらの利用は推奨されません。