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

search for in the

dio_read> <dio_fcntl
Last updated: Fri, 30 Oct 2009

view this page in

dio_open

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

dio_open Öffnet eine Datei mit den angegebenen Rechten

Beschreibung

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

dio_open() öffnet eine Datei und liefert einen Dateideskriptor zurück.

Parameter-Liste

filename

Die zu öffnende Datei.

flags

Der Parameter flags kann eine Kombination der folgenden Flags enthalten:

  • O_CREAT - erzeugt die Datei, falls diese nicht existiert

  • O_EXCL - in Kombination mit O_CREAT wird ein Fehler (-1) zurückgegeben, wenn die Datei bereits existiert

  • O_TRUNC - falls die Datei bereits existiert, und sie für Schreibzugriff geöffnet wird, wird diese auf die Grösse 0 zurückgesetzt

  • O_APPEND - setzt den Zeiger für Schreiboperationen an das Ende der Datei

  • O_NONBLOCK - Setzt den Modus auf "nonblocking"

mode

Wenn flags das Flag O_CREAT enthält mode die Dateizugriffsrechte.

  • O_RDONLY - öffnet die Datei für Lesezugriff

  • O_WRONLY - öffnet die Datei für Schreibzugriff

  • O_RDWR - öffnet die Datei für Schreib- und Lesezugriff

Rückgabewerte

Ein Dateideskriptor oder FALSE bei Fehlern.

Beispiele

Beispiel #1 Öffnen eines Dateideskriptors

<?php

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

dio_close($fd);
?>

Siehe auch



add a note add a note User Contributed Notes
dio_open
j at pureftpd dot org
24-Jan-2005 12: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 03: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, 30 Oct 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites