phpbar.de logo

Mailinglisten-Archive

[php] Abfrage

[php] Abfrage

Tim TConnect at gmx.net
Mo Feb 1 15:39:26 CET 2010


> Hi,

Hallo Olly,

> übernommen
> ebenso die tracknamen.
> Das System was dahinter steckt ist das Clansphere CMS.
> Ich weiß nicht wie weit das relevant sein kann.

kann es sein, dass Du zwei verschiedene Pfade verwechselst bzw. falsch
anwendest? Zum einen möchtest Du prüfen, ob eine bestimmte Datei auf
Deinem Server liegt. Das meint, dass diese Datei physisch auf der
Festplatte liegt und dass der Pfad dort hin ein anderer Pfad ist als
der, der später Verwendung im HTML Code der Website findet.

Du solltest also mit dem physischen Pfad des Server-Dateisystems prüfen,
ob die Datei vorhanden ist und dann das Ganze im HTML Code so umsetzen,
dass das dann auch relativ (oder absolut) zum Ort auf Deiner Website
passt.

Ein Beispiel:

Der Webserver speichert alle Domains hier zum Beispiel):

/home/httpd/web/


Deine Domain liegt dann im Ordner "trackmania". Also wäre der Pfad dann
so:

/home/httpd/web/trackmania/
                           index.php
                           index.html
                           (u.s.w)


Dann wären die beiden Pfade für ein und das selbe Bild diese hier:

Physisch auf dem Webserver:
/home/httpd/web/trackmania/track_images/beispiel.gif


Auf der Website:
http://www.trackmania.de/track_images/beispiel.gif
                         |-----------------------|


Das bedeutet, dass Deine Prüfung so aussehen müsste:

$filepath = "/home/httpd/web/trackmania/track_images/" . $trackname .
".gif";
if(file_exists($filepath)) {
  $htmlpath = "track_images/" . $trackname . ".gif";
} else {
  $htmlpath = "track_images/no_map.gif";
}


Wichtig ist auch, dass $trackname nicht auch schon die Endung mit
beinhaltet!!! Angenommen, die Variabel sähe so aus:

$trackname = "beispiel.gif";

Dann würdest Du in Deinem Beispiel ja auf die Datei
"[...]/beispiel.gif.gif" testen und die dürfte es wohl nicht geben.


Liebe Grüße
Tim






php::bar PHP Wiki   -   Listenarchive