(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)
dio_open — C ライブラリの入出力ストリーム関数が許すよりも低レベルでファイルをオープンする (必要ならファイルを作成する)
$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
が flags
に指定されている場合には mode
が必須となり、それ以外の場合は無視されます。
ファイルを作成したときに実際に設定されるモードは、プロセスの umask 設定によって変わります。
ファイル記述子を返します。エラー時には FALSE
を返します。
例1 ファイル記述子をオープンする
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);
?>