PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

dio_read> <dio_fcntl
Last updated: Fri, 05 Sep 2008

view this page in

dio_open

(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5)

dio_open Ouvre un nouveau fichier avec les permissions spécifiés

Description

resource dio_open ( string $filename , int $flags [, int $mode ] )

dio_open() ouvre un accès à un fichier et retourne une ressource de fichier.

Liste de paramètres

filename

Le fichier à ouvrir.

flags

Le paramètre flags peut inclure n'importe quelle combinaison des drapeaux suivants :

  • O_CREAT - crée le fichier, s'il n'existe pas.

  • O_EXCL - si O_CREAT et O_EXCL sont utilisés, dio_open() échouera si le fichier existe déjà.

  • O_TRUNC - si le fichier existe, et qu'il est ouvert en écriture, le fichier sera réduit à la taille nulle.

  • O_APPEND - les écritures se font à partir de la fin du fichier.

  • O_NONBLOCK - active le mode non-bloquant.

mode

Si flags est O_CREAT, mode sera le mode du fichier (permission de création).

  • O_RDONLY - ouvre un fichier en lecture.

  • O_WRONLY - ouvre un fichier en écriture.

  • O_RDWR - ouvre un fichier en lecture et écriture.

Valeurs de retour

Une ressource de fichier ou FALSE en cas d'erreur.

Exemples

Exemple #1 Ouverture d'un fichier

<?php

$fd 
dio_open('/dev/ttyS0'O_RDWR O_NOCTTY O_NONBLOCK);

dio_close($fd);
?>

Voir aussi



add a note add a note User Contributed Notes
dio_open
j at pureftpd dot org
24-Jan-2005 01:13
Please note that dio_open()/dio_write()/dio_close() is *faster* than fopen()/fwrite()/fclose() for files.

fwrite() has to manage a 8k buffer, while dio_write() just issue a single write(). The end result is less system calls and less memory access.

Also, giving the full size to write() as with dio_write() let filesystems properly use preallocation in order to avoid fragmentation.
alla at cyber dot com dot au
22-Mar-2003 04:16
To specify a combination of flags you OR them together.
This was the only way I could get it to append:

$fd = dio_open($file, O_WRONLY | O_APPEND);

dio_read> <dio_fcntl
Last updated: Fri, 05 Sep 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites