array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'function.dio-open.php', 1 => 'dio_open', ), 'up' => array ( 0 => 'ref.dio.php', 1 => 'Direct IO Functions', ), 'prev' => array ( 0 => 'function.dio-fcntl.php', 1 => 'dio_fcntl', ), 'next' => array ( 0 => 'function.dio-read.php', 1 => 'dio_read', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/dio/functions/dio-open.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)
dio_open — Opens a file (creating it if necessary) at a lower level than the C library input/ouput stream functions allow
dio_open() opens a file and returns a new file descriptor for it.
filename
The pathname of the file to open.
flags
The flags
parameter is a bitwise-ORed
value comprising flags from the following list. This value
must include one of
O_RDONLY
, O_WRONLY
,
or O_RDWR
. Additionally, it may include
any combination of the other flags from this list.
O_RDONLY
- opens the file for read access.
O_WRONLY
- opens the file for write access.
O_RDWR
- opens the file for both reading and
writing.
O_CREAT
- creates the file, if it doesn't
already exist.
O_EXCL
- if both O_CREAT
and O_EXCL
are set and the file already
exists, dio_open() will fail.
O_TRUNC
- if the file exists and is opened
for write access, the file will be truncated to zero length.
O_APPEND
- write operations write data at the
end of the file.
O_NONBLOCK
- sets non blocking mode.
O_NOCTTY
- prevent the OS from
assigning the opened file as the process's controlling
terminal when opening a TTY device file.
mode
If flags
contains
O_CREAT
, mode
will
set the permissions of the file (creation
permissions). mode
is required for
correct operation when O_CREAT
is
specified in flags
and is ignored
otherwise.
The actual permissions assigned to the created file will be affected by the process's umask setting as per usual.
A file descriptor or false
on error.
Example #1 Opening a file descriptor
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);
?>