dio_fcntl
dio_read
ダイレクト IO 関数
PHP Manual

# dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open — C ライブラリの入出力ストリーム関数が許すよりも低レベルでファイルをオープンする (必要ならファイルを作成する)

### 説明

resource dio_open ( string `$filename` , int `$flags` [, int `$mode` = 0 ] )

dio_open() は、ファイルをオープンして そのファイル記述子を返します。

### パラメータ

`filename`

  オープンするファイルのパス。

`flags`

  `flags` パラメータには、 以下のフラグの組み合わせを指定します。 この値は、`O_RDONLY`、`O_WRONLY`、 あるいは `O_RDWR` のいずれかでなければなりません。 さらに、このリストからその他の値を組み合わせることもできます。

  - `O_RDONLY` - 読み込み専用でファイルをオープンします。

  - `O_WRONLY` - 書き込み専用でファイルをオープンします。

  - `O_RDWR` - 読み書き両用でファイルをオープンします。

  - `O_CREAT` - ファイルが存在しなければ 新しいファイルを作成します。

  - `O_EXCL` - `O_CREAT` および `O_EXCL` をともに指定すると、 すでにファイルが存在する場合に dio_open() が失敗します。

  - `O_TRUNC` - すでにファイルが存在し、書き込み アクセス用にオープンされている場合、ファイルの長さをゼロに切り詰めます。

  - `O_APPEND` - 書き込み時は、ファイルの終端に 追記します。

  - `O_NONBLOCK` - 非ブロッキングモードを指定します。

  - `O_NOCTTY` - TTY デバイスファイルをオープンするときに、 オープンしたファイルをプロセスが自動的に制御端末としないようにします。

`mode`

  `flags` が `O_CREAT` を含む場合に、`mode` でファイルのモード (作成許可) を指定します。`O_CREAT` が指定されている場合には `Mode` が必須となり、それ以外の場合は無視されます。

  ファイルを作成したときに実際に設定されるモードは、プロセスの umask 設定によって変わります。

### 返り値

ファイル記述子を返します。エラー時には `FALSE` を返します。

### 例

例1 ファイル記述子をオープンする

`<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);
?>`

### 参考

- dio_close() - fd で指定したファイル記述子を閉じる

dio_fcntl
dio_read
ダイレクト IO 関数
PHP Manual