phpbar.de logo

Mailinglisten-Archive

[php] Vorhandenes Bild wird nicht angezeigt

[php] Vorhandenes Bild wird nicht angezeigt

Ellen Volker ellen.volker at unitzwo.de
Mon Apr 4 15:23:55 CEST 2005


Hallo Liste,

folgendes Problem stellt mich vor ein Rätsel, ich weiss nicht mehr
weiter…

In einem Redaktionssystem hat der User die Möglichkeit, ein Bild
hochzuladen. Dieses wird in einen "temporären" Ordner (ist ein ganz
normaler Ordner, ich nenne ihn nur so) geschoben, der Dateiname in einer
Session gespeichert und daraufhin wird das Bild wird angezeigt. Erst,
wenn der User auf "Speichern" klickt, wird das Bild in einen endgültigen
Ordner verschoben und ebenfalls angezeigt, sonst wird es aus dem
"temporären" Ordner und aus der Session gelöscht.

Auf meinem lokalen Server funktioniert das einwandfrei, aber auf dem
System, auf dem die Seite liegen soll, wird das Bild nicht angzeigt.

In PHP sieht das so aus:

If (!empty($_SESSION['sessDataGallery']['fileName']) &&
file_exists(TMP_GALLERY_PATH."/" .
$_SESSION['sessDataGallery']['fileName']))  
{
   $image = "<img src='" . TMP_GALLERY_URL . "/" .
$_SESSION['sessDataGallery']['fileName']  ."'       border='0'>";
}

Also, wenn in der Session was drinsteht und das Bild auch gefunden wird,
wird der HTML-Text für das Bild generiert. In den Konstanten steht der
jeweilige Pfad (TMP_GALLERY_URL = '/_tmp_images/gallery' und
TMP_GALLERY_PATH = $_SERVER['DOCUMENT_ROOT'].'_tmp_images/gallery)'.

Jetzt passiert folgendes: Das System geht in die Schleife, da es das
Bild findet und es gibt den HTML-Text aus. Aber trotzdem wird das Bild
nicht angezeigt. Wenn ich mir HTML-Ausgabe und die Eigenschaften des
Bildes ansehe, ist aber alles richtig.

Heraus kommt: <img src='/_tmp_images/gallery/anlage3.jpg' border='0'>

Wenn ich versuche, das Bild in der Adresszeile aufzurufen oder bei
Firefox "View image" mache, bekomme ich eine Forbidden Seite. Ich habe
aber inzwischen alle möglichen Rechte auf die entsprechenden Ordner
gesetzt, das hat nichts gebracht.

Das komische ist auch: An einer anderen Stelle des Redaktionssystems
funktioniert das gleiche Prinzip wunderbar, ohne Probleme und ohne, dass
ich die Rechte auf dem Ordner verändert habe.

Wenn ich aber in diesem Beispiel zum Test den Ordner von dem Modul
nehme, das funktioniert, geht es wieder nicht.

Aber am PHP kann es doch auch nicht liegen, da es ja auf dem lokalen
Server funktioniert.

Ich bin total hilflos und wäre für jeden Tipp dankbar!!!

Gruss,

Ellen Volker




php::bar PHP Wiki   -   Listenarchive