(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
установит
разрешения для файла (creation permissions). mode
требуется для корректной работы в случае указания O_CREAT
в flags
и в других случаях будет проигнорирован.
Актуальные разрешения, которые бдут присвоены созданному файлу, будут зависить от настройки umask процесса, как обычно.
Файловый дескриптор или FALSE
в случае ошибки.
Пример #1 Открытие файлового дескриптора
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);
?>