Mailinglisten-Archive |
Hallo Tim, mein Problem ist eigentlich nur, 1.) er soll mir das bild $trackmania.jpg anzeigen, wenn vorhanden ist, das macht er wenn ich if (!file_exists($image_map)){...................} schreibe. Dann zeigt er mir aber nicht das bild no_map an wenn eine datei mit dem Namen aus $trackname nicht vorhanden ist. 2.) in $trackmania liegt der Name des tracks der auf dem Gameserver gerad läuft, dieser kann auch mit farbcodes sein. Die Abfragen gehen alle keine probleme. Jedes bild für die einzelenen tracks setzt sich zusammen aus dem $trackname und der endung.hier jpg Diese Screens werden auf einer Webseite in dem Ordner uploads/trackmania/tracks_image/ gespeichert. Ist hier nun eine datei mit $trackname.jpg vorhanden zeige das bild an. Ist diese hier nicht vorhanden zeige no_map.gif an. Ursprünglicher code war dieser : $map ="/uploads/trackmania/track_images/".$trackname.".jpg"; // hier liegt das Bild mit dem Namen und der Endung if (file_exists($map)) { //Ist die datei vorhanden alles gut zeige Sie an $image_map = "/uploads/trackmania/track_images/".$trackname.".jpg"; } else { // Ist Sie nicht da zeige no_map $image_map ="/uploads/trackmania/track_images/no_map.gif"; } Meine Ausgabe der datei erfolgt dann mit $image_map was auch soweit geht.wenn ich if (file_exists($map)) ändere in if (!file_exists($map)) nur dann zeigt er eben das eine oder das andere nicht an. Und da liegt der Wurm ist datei da anzeigen ist nicht da andere anzeigen, das macht er nur wenn ich eben wie geschrieben if (file_exists($map)) ändere. Hoffe habe es verständlich dargestellt. ---------------------------------------------------------- Hoffe das das jetzt kein Spam ist. Gruß -----Ursprüngliche Nachricht----- Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag von Tim Gesendet: Montag, 1. Februar 2010 15:39 An: 'deutschsprachige PHP-Mailingliste' Betreff: Re: [php] Abfrage > 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 -- ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** Informationen: http://www.phpbar.de http://lists.phpbar.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive