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.
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
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);
?>
dio_open
23-Jan-2005 04:13
22-Mar-2003 07: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);
