Heim  >  Artikel  >  php教程  >  Beispiel für den Zugriff auf Remote-Dateien über die Funktion fopen() in PHP

Beispiel für den Zugriff auf Remote-Dateien über die Funktion fopen() in PHP

高洛峰
高洛峰Original
2016-12-21 15:50:571838Durchsuche

Die Verwendung von PHP ermöglicht Benutzern nicht nur den Zugriff auf serverseitige Dateien über den Browser, sondern auch den Zugriff auf Dateien auf anderen Servern über Protokolle wie HTTP oder FTP. HTTP- und FTP-URLs können in den meisten Funktionen verwendet werden, die Dateinamen als Parameter erfordern . um den Dateinamen zu ersetzen. Verwenden Sie die Funktion fopen(), um den angegebenen Dateinamen und die angegebene Ressource an einen Stream zu binden. Wenn der Dateiname das Format „scheme://...“ hat, wird er als URL behandelt und PHP sucht danach Protokollprozessor (auch Encapsulator-Protokoll genannt), um diesen Modus zu verarbeiten.

Wenn Sie remote auf Dateien zugreifen müssen, müssen Sie die Option „allow_url_fopen“ in der PHP-Konfigurationsdatei aktivieren, um die Funktion fopen() zum Öffnen der Remote-Datei zu verwenden. Es muss außerdem festgestellt werden, ob die Dateien auf anderen Servern über Zugriffsberechtigungen verfügen. Wenn für die Verbindung zur Remote-Datei das HTTP-Protokoll verwendet wird, kann diese nur im „schreibgeschützten“ Modus geöffnet werden. Wenn auf dem Remote-FTP-Server, auf den zugegriffen werden muss, die „Schreibberechtigung“ für den angegebenen Benutzer aktiviert ist, können Sie bei Verwendung des FTP-Protokolls zum Herstellen einer Verbindung zur Remote-Datei den Modus „Nur Schreiben“ oder „Nur Lesen“ verwenden Um die Datei zu öffnen, können Sie den Modus „Lesbar und beschreibbar“ nicht verwenden. Die Verwendung von PHP für den Zugriff auf Remote-Dateien ist beispielsweise dasselbe wie für den Zugriff auf lokale Dateien Analysieren Sie die von uns benötigten Ausgabedaten und verwenden Sie sie dann beim Datenbankabruf, oder geben Sie sie einfach im Stil aus, der dem restlichen Website-Inhalt entspricht. Der Code sieht so aus:

Wenn Sie über gesetzliche Zugriffsrechte verfügen, können Sie als Benutzer eine Verbindung mit einem FTP-Server herstellen, um in die Dateien auf dem FTP-Server zu schreiben. Sie können diese Technologie zum Speichern von Remote-Protokolldateien verwenden Diese Methode wird nur zum Erstellen einer neuen Datei verwendet. Wenn Sie versuchen, eine vorhandene Datei zu überschreiben, schlägt der Aufruf der Funktion fopen() fehl und Sie müssen eine Verbindung zum Server mit einem anderen Benutzernamen als „anonym“ herstellen. und Sie müssen den Benutzernamen (oder sogar das Passwort) angeben, zum Beispiel „ftp://user:password@ftp.lampbrother.net/path/to/file“.
<?php
//通过http打开远程文件
$file = fopen(http://www.php.cn, "r") or die("打开远程文件失败!!");
while (!feof($file)){
    $line = fgets($file,1024);     //每读取一行
//如果找到远程文件中的标题标记则取出标题,并退出循环,不在读取文件
    if (preg_match("/<titile>(.*/)<\/title>",$line,$out)){     //使用正则匹配标题标记
        $title = $out[1];     //将标题标记中的标题字符取出
        break;     //退出循环,结束远程文件读取
    }
}
 
fclose($file);
echo $title;
?>
Um Timeout-Fehler beim Zugriff auf den Remote-Host zu vermeiden, können Sie die Funktion set_time_limit() verwenden, um die Laufzeit des Programms zu begrenzen.

Weitere verwandte Artikel zum Zugriff auf Remote-Dateien über die Funktion fopen() in PHP, folgen Sie bitte der chinesischen PHP-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