array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.dio-open.php', 1 => 'dio_open', ), 'up' => array ( 0 => 'ref.dio.php', 1 => 'Funciones de Direct IO', ), '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' => 'es', '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 — Abre (crea si fuera necesario) un fichero a un nivel más bajo que el permitido por flujos de entrada y salida de las bibliotecas en C
dio_open() abre un fichero y devuelve su descriptor de fichero.
filename
Ruta del fichero a abrir.
flags
El parámetro flags
es una máscara OR de bits
compuesta a partir de las siguientes banderas. Estos valores
tienen que incluir alguno de entre
O_RDONLY
, O_WRONLY
,
o O_RDWR
. Además, podría incluir cualquier
combinación del resto de banderas de la lista.
O_RDONLY
- abre el fichero con acceso de lectura.
O_WRONLY
- abre el fichero con acceso de escritura.
O_RDWR
- abre el fichero con acceso de lectura y
de escritura.
O_CREAT
- crea el fichero, si no existiera
ya.
O_EXCL
- si tanto O_CREAT
como O_EXCL
están habilitados, y el fichero
existe, dio_open() fallará.
O_TRUNC
- si el fichero existe, y está abierto
con sólo escritura, se truncará a cero.
O_APPEND
- las operaciones de escritura añaden los
datos al final del fichero.
O_NONBLOCK
- asigna el modo no bloqueante.
O_NOCTTY
- previene que el SO asigne al fichero
abierto como el terminal controlador del proceso cuando se abra
un fichero de dispositivo TTY.
mode
Si flags
contiene
O_CREAT
, mode
establecerá
los permisos del ficher (permisos
de creación). mode
es necesario para un correcto
funcionamiento cuando O_CREAT
se especifica en
flags
, y se ignorará en cualquier otro caso.
Los permisos que realmente se asignan al fichero creado se verán afectados por el umask del proceso, como suele suceder.
Descriptor de fichero o false
en caso de error.
Ejemplo #1 Abrir un descriptor de fichero
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);
dio_close($fd);
?>