Prüfen, ob Datei auf entfernten Server vorhanden ist
crille
- php
Hallo SelfHTMLer,
Ich bin gerade am Basteln eines Verzeichnis, in dem unter bestimmten Themen, URLs mit dazugehörender Beschreibung gepostet werden können.
Es sollen auch die URLs zu Bildern auf diesen Seiten gepostet werden können. Damit das Ganze ansehbar ist und nicht überall nicht geladene Bilder auf der Seite erscheinen, wäre eine Funktion sinnvoll, die einfach überprüft, ob z.B. die Datei "http://www.php.net/images/php.gif" vorhanden ist oder nicht. Für Dateien auf dem eigenen Server gibt es ja die Funktion "file_exists", aber wie sieht es da mit serverfremden Dateien aus? Unter www.php.net heißt es, dass man per "require()" oder "include()" auf fremde Dateien zugreifen kann, wenn das OS nicht Windows ist, aber ich will ja nur wissen, ob die Datei vorhanden ist und nicht irgendwas aus dem Quelltext der anderen Seite einlesen...
Grüße
crille
Hallo,
also versuche erstmal ob du mit der Funktion is_file, oder file_exists per URL die Datei prüfen kannst.
Ansonsten versuche die Datei per fopen zu öffnen. Wenn dies funzt gibts die Datei. Is doch eine Idee, oder?
$file = @fopen ("http://www.sowieso.de/datei.txt", "w");
if (!$file) {
echo "Datei konnte geöffnet werden.\n";
exit;
}
Grüsse
Stolzi
Hi Stolzi,
$file = @fopen ("http://www.sowieso.de/datei.txt", "w");
^
Das muss "r" heissen.
if (!$file) {
^--das muss weg.
Und dann funktioniert es auch.
Gruss,
Carsten
Hallo,
ok r, sonst wirds kaum gehn, da man ja keinen Schreibzugriff hat ;-)) Hast recht. Hab zu schnell getipst
Aber warum soll "if (!$file) {" weg?? Prüfe da ja nur ob fopen gefunzt hat.
Kürzer viell:
if($file = @fopen ("http://www.sowieso.de/datei.txt", "r"))
{
}
Grüsse
Stolzi
Hallo Carsten & Stolzi,
Danke für eure Hilfe.
Ich habe es jetzt so gemacht:
if (!(@fopen ("$bildurl", "r")))
{
...
}
else
{
...
}
Im Grunde ist es ja egal, ob man's mit "!" umkehrt oder nicht...
Grüße und Danke nochmal!
crille