stream_set_read_buffer
stream_set_write_buffer
ストリーム 関数
PHP Manual

# stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5)

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

### 説明

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

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

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

### パラメータ

`stream`

  対象となるストリーム。

`seconds`

  設定したいタイムアウトの秒数部分。

`microseconds`

  設定したいタイムアウトのマイクロ秒数部分。

### 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
4.3.0 | PHP 4.3 より、この関数は、(潜在的には)どの種類の ストリームに対しても機能するようになりました。 PHP 4.3 では、ソケットベースのストリームが、 唯一この関数でサポートされている種類でしたが、他の拡張モジュール由来の モジュールはこの機能をサポートしているかもしれません。

### 例

例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 をオープンする

stream_set_read_buffer
stream_set_write_buffer
ストリーム 関数
PHP Manual