Heim >php教程 >PHP开发 >Klassische Verwendung von Perl: Verwenden Sie Sysopen() für mehr Kontrolle

Klassische Verwendung von Perl: Verwenden Sie Sysopen() für mehr Kontrolle

黄舟
黄舟Original
2016-12-16 13:52:522112Durchsuche

Um besser zu steuern, wie Dateien geöffnet werden, können Sie die Funktion sysopen() verwenden:

useFcntl;

sysopen(FH,$filename,O_RDWR|O_CREAT,0666)

ordie"Can'topen$filenameforreading/writing/creating:$!";

Die Funktion sysopen() benötigt vier Parameter, ähnlich wie open(). Der zweite Parameter ist der Dateiname ohne Modusinformationen. Der dritte Parameter ist der Modusparameter, der aus Konstanten besteht, die mit der vom Fcntl-Modul bereitgestellten logischen ODER-Operation kombiniert werden. 0666 bezeichnet die Datendatei, 0777 bezeichnet das Programm. sysopen() gibt true zurück, wenn die Datei geöffnet werden kann, false, wenn das Öffnen der Datei fehlschlägt.

Im Gegensatz zur Funktion open() stellt sysopen() keine Abkürzung für die Modusbeschreibung bereit, sondern kombiniert einige Konstanten. Darüber hinaus hat jede Moduskonstante eine eindeutige Bedeutung und kann nur durch logische ODER-Operationen kombiniert werden. Kombiniert können Sie mehrere Verhaltenskombinationen einrichten.

O_RDONLYSchreibgeschützt

O_WRONLYSchreibgeschützt

O_RDWRLesen und Schreiben

O_APPENDSchreibt an das Ende der Datei

O_TRUNCTruncatethefileifexisted

O_CR EATErstellen Sie die Datei, wenn sie nicht vorhanden war

O_EXCLErrorifthefilealreadyexisted(usedwithO_CREAT)

Verwenden Sie die Funktion sysopen(), wenn Sie vorsichtig sein müssen. Wenn Sie beispielsweise vorhaben, Inhalt zu einer Datei hinzuzufügen, erstellen Sie keine neue Datei, wenn dies nicht der Fall ist existieren, Sie können so schreiben:

sysopen(LOG,"/var/log/myPRog.log",O_APPEND,0666)

ordie"Can'topen/var/log/myprog .logforappending: $!";

Das Obige ist die klassische Verwendung von Perl: Verwendung von Sysopen() für mehr Kontrolle. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn). !


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn