Checken, ob URL vorhanden ist
Martin17
- php
Hallo,
ich lese mittels file_get_contents den Inhalt einer Datei ein - als Pfadangabe dient hierzu eine http://-Adresse.
Wie kann ich denn überprüfen, ob an der angegeben Adresse auch eine entsprechende Datei existiert?
file_exists() checkt keine URLs, sondern nur lokale Dateien...
Bisher sieht das bei mir so aus, ich checke zwar auf allow_url_fopen, aber ob da auch eine Datei hinterlegt ist....?? Wie finde ich das raus?
if(ini_get('allow_url_fopen')) {
$rss = file_get_contents($url__newsfeed);
}
Vielen Danke für eure Hilfe,
Grüße,
Martin
P.S.: PHP 5.1.5
hi,
file_exists() checkt keine URLs, sondern nur lokale Dateien...
Bisher sieht das bei mir so aus, ich checke zwar auf allow_url_fopen, aber ob da auch eine Datei hinterlegt ist....?? Wie finde ich das raus?
HEAD-Request mittels fsockopen absetzen, Server-Antwort auswerten (HTTP Statuscode 404; ggf. title/Dokumentinhalt eines zurückgelieferten HTML-Dokumentes parsen/durchsuchen, falls Gegenstelle fehlerhaft mit einem unter 200 ausgelieferten Fehlerdokument reagiert).
Prinzip HEAD-Request analog zu http://www.php-faq.de/q/q-code-post.html
gruß,
wahsaga
hmm.. ok, also immer der reihe nach, so schnell bin ich nicht ;-)
ich setze erstmal einen fsockopen ab, und schaue mir die antwort an. in meinem fall sieht das so aus:
$fp = fsockopen("mediadb.kicker.de/library/rss091/kickerbundesliga.xml", 80, $errno, $errstr, 30);
nur leider ergibt das dann folgende fehlermeldung:
Warnung: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /sidebar/forum-sidebar.inc.php (Zeile 12)
Warnung: fsockopen() [function.fsockopen]: unable to connect to mediadb.kicker.de/library/rss091/kickerbundesliga.xml:80 (Unknown error) in /sidebar/forum-sidebar.inc.php (Zeile 12)
Unter der angegeben URL findet sich aber durchaus eine entsprechende datei...?
hi,
$fp = fsockopen("mediadb.kicker.de/library/rss091/kickerbundesliga.xml", 80, $errno, $errstr, 30);
fsockopen erwartet als ersten Parameter einen Hostnamen oder eine IP-Adresse.
Die Antwort auf die Frage, ob "mediadb.kicker.de/library/rss091/kickerbundesliga.xml" ein Hostname ist, findest du sicher selber.
Unter der angegeben URL findet sich aber durchaus eine entsprechende datei...?
Ja, aber es gibt keinen Host im www, der diesen URL als Namen trägt.
Auf das Beispiel hatte ich nicht ohne Grund hingewiesen - na, wie machen die das da? Eben.
gruß,
wahsaga