Heim  >  Artikel  >  Backend-Entwicklung  >  PHP prüft, ob eine Remote-Datei vorhanden ist

PHP prüft, ob eine Remote-Datei vorhanden ist

高洛峰
高洛峰Original
2016-11-28 16:51:461077Durchsuche

Früher wusste ich, dass file_exists nicht überprüfen kann, ob Remote-Dateien vorhanden sind, aber ich weiß nicht, wie ich überprüfen kann, ob Remote-Dateien vorhanden sind

Heute habe ich den Blog des PHP Information Research Center gelesen und eine Funktion gefunden get_headers

Originaltext hier:
So überprüfen Sie, ob eine Remote-Datei existiert

get_headers(PHP5) – Alle vom Server als Antwort auf eine HTTP-Anfrage gesendeten Header abrufen

get_headers() gibt ein Array zurück, das die vom Server als Antwort auf eine HTTP-Anfrage gesendeten Header enthält. Wenn dies fehlschlägt, wird FALSE zurückgegeben und eine Fehlermeldung der Stufe E_WARNING ausgegeben.

Wenn der optionale Formatparameter auf 1 gesetzt ist, analysiert get_headers() die entsprechenden Informationen und legt den Schlüsselnamen des Arrays fest.

gibt etwas zurück wie

Array (
[0] => HTTP/1.1 200 OK
[Datum] => Sa, 29. Mai 2004 12:28:14 GMT
[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
[Zuletzt geändert] => Mi, 08. Januar 2003 23:11:55 GMT
[ ETag] = > "3f80f-1b6-3e1cb03b"
[Accept-Ranges] =>[Content-Length] => ] => text/html
)

Ich halte es nicht für angemessen, dass der ursprüngliche Autor die Methode zur Beurteilung verwendet, ob ein Array zurückgegeben werden soll

Weil der HTTP-Dateistatus möglicherweise nicht 200 sein, sondern etwas anderes

Weil ich etwas getestet habe, das auf meiner Website eigentlich nicht existiert, sollte der zurückgegebene Seitenstatus 404 sein, existiert nicht, aber die Funktion des ursprünglichen Autors gibt immer noch true zurück

Tatsächlich sollte es anhand des zurückgegebenen Seitenstatus

ermittelt werden
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