(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)
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.
The pathname of the file to open.
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, causes dio_open() to 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.
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 mode 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
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);