(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)
dio_open — Открывает или создаёт файл на уровне ниже, чем потоковые функции ввода-вывода библиотеки языка C
Функция dio_open() открывает файл и возвращает файловый дескриптор.
filenameПуть к файлу, который требуется открыть.
flags
Параметр flags принимает объединённую побитовым оператором ИЛИ
комбинацию следующих флагов. В комбинацию обязательно включают
константу O_RDONLY, O_WRONLY
или O_RDWR и дополнительно указывают
произвольную комбинацию других флагов из списка.
O_RDONLY — открыть файл на чтение.
O_WRONLY — открыть файл на запись.
O_RDWR — открыть файл на чтение и запись.
O_CREAT — создать файл, если не существует.
O_EXCL — функция dio_open() выдаст ошибку,
если установили флаги O_CREAT
и O_EXCL, и файл существует.
O_TRUNC — при открытии существующего файла на запись
функция усечёт файл до нулевой длины.
O_APPEND — запись в конец файла.
O_NONBLOCK — установить неблокирующий режим.
O_NOCTTY — запрещает операционной системе
назначать открытый файл как терминал контроля процесса,
если открыли файл устройства TTY.
mode
При передаче в параметр flags
значения O_CREAT параметр mode установит для файла
права доступа с учётом системных ограничений на установку прав для вновь создаваемых файлов.
Параметр mode требуется для правильной работы функции
при передаче в параметр flags
значения O_CREAT, а в остальных случаях игнорируется.
Фактические разрешения, которые назначаются вновь созданному файлу, стандартно зависят от настройки маски прав доступа umask для процесса.
Функция возвращает дескриптор файла или false, если возникла ошибка.
Пример #1 Пример открытия файлового дескриптора
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);