Heim  >  Artikel  >  Backend-Entwicklung  >  Erweiterte Anwendung der PHP-Dateiverarbeitung – Remote-Dateizugriff und gesperrte Dateien

Erweiterte Anwendung der PHP-Dateiverarbeitung – Remote-Dateizugriff und gesperrte Dateien

黄舟
黄舟Original
2017-04-17 17:36:562436Durchsuche

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:

Erweiterte Anwendung der PHP-Dateiverarbeitung – Remote-Dateizugriff und gesperrte Dateien

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!

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