Erweiterte Anwendung der PHP-Dateiverarbeitung – Fernzugriff auf Dateien und Sperren von Dateien
In PHP können Sie zusätzlich zu grundlegenden Lese- und Schreibvorgängen für Dateien Folgendes tun: Suchen und lokalisieren Sie außerdem den Dateizeiger und sperren Sie die gelesene Datei.
Die vorherigen Artikel „PHP-Dateiverarbeitung – Datei öffnen/schließen “, „PHP-Dateiverarbeitung – Datei lesen (ein Zeichen, String) “, „PHP-Dateiverarbeitung – So lesen Sie Dateien“ und „PHP-Dateiverarbeitung – Dateien schreiben und Dateien bearbeiten“ stellen die grundlegenden Lese- und Schreibvorgänge der Dateiverarbeitung vor. In diesem Abschnitt erfahren Sie mehr über erweiterte Dateien Verarbeitungstechniken.
1: Remote-Dateizugriff
PHP unterstützt Dateiaufrufe im URL-Format, legen Sie es einfach in php.ini fest. Suchen Sie „allow_url_fopen“ in PHP. ini und setzen Sie diese Option auf ON. Nach dem Neustart des Servers können Sie das HTTP- oder FTP-URL-Format
verwenden, zum Beispiel:
fopen("http://http://127.0.0.1/php/1.php","rb");
2: Datei sperren
Wenn Sie Inhalte in eine Textdatei schreiben, müssen Sie die Datei zuerst sperren, um zu verhindern, dass andere Benutzer den Inhalt der Datei ändern. Die Funktion zum Sperren der Datei in PHP ist flock() Diese Funktion lautet wie folgt:
bool flock ( resource $handle , int $operation [, int &$wouldblock ] )
参数值 | 说明 |
LOCK_SH | 取得共享锁定(读取文件) |
LOCK_EX | 取得独占锁定(写入文件) |
LOCK_UN | 释放锁定 |
LOCK_NB | 防止 flock()在锁定时堵塞 |
Im folgenden Beispiel verwenden Sie die Funktion flock(), um die Datei zu sperren, dann Daten zu schreiben und schließlich die Datei zu entsperren und zu schließen. Der spezifische Beispielcode lautet wie folgt:
<?php header("Content-Type:text/html; charset=utf-8"); $filename = "tm.txt"; //声明要打开的文件名称 $fd = fopen($filename,"w"); //以w 模式打开文件 flock($fd,LOCK_EX); //锁定文件(独占共享) fwrite($fd,"我爱PHP中文网 www.php.cn"); //向文件中写入数据 flock($fd,LOCK_UN); //解除文件 fclose($fd); //关闭文件指针 readfile($filename); //输出文件内容 ?>
Das Ausgabeergebnis ist:
Erklärung:
schreibt Daten in die Datei. Wenn zum Öffnen der Datei der W- oder w+-Modus verwendet wird und zu diesem Zeitpunkt LOCK_EX verwendet wird, können andere Benutzer, die gleichzeitig auf die Datei zugreifen, die Größe der Datei nicht ermitteln Datei und kann keine Vorgänge ausführen!
Im nächsten Artikel werden wir weiterhin Dateizeiger für erweiterte Anwendungen der Dateiverarbeitung vorstellen. Weitere Informationen finden Sie unter „Erweiterte Anwendungen der PHP-Dateiverarbeitung – Dateizeiger“. !
Das obige ist der detaillierte Inhalt vonErweiterte Anwendung der PHP-Dateiverarbeitung – Remote-Dateizugriff und gesperrte Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!