Hallo Wissende,
ich möchte eine BITMAP Datei laden und in den Ausgabepuffer schreiben bzw. im Browser anzeigen. Das folgende kleine Skript macht genau das. Allerdings nur, wenn ich den Dateinamen hardcode. Kommentiert man dies in Zeile 4 aus und holt den Wert aus dem GET Parameter (Zeile 3), so sagt Firefox, dass das Bild beschädigt sei. Aber der Parameter sollte stimmen. Zum Debuggen habe ich den Aufruf von readfile ausgegeben, siehe Zeilen 7 ff.
PHP-Code:
<?php
header('Content-type: image/bmp');
//$filename = $_GET["file"];
$filename = "69330630_201202081745.bmp";
$path = "../../../ftp/home/";
@readfile($path.$filename);
// var_dump($path.$filename);
// Ausgabe von Zeile 7 (Zeilen 2, 4, 6 auskommentiert): string(43) "../../../ftp/home/69330630_201201081745.bmp"
// bei Aufruf mit image.php?file=69330630_201201081745.bmp
?>
Vermutlich ist es eine total einfache Sache, aber ich sehe es einfach nicht. Habe bereits viel gesucht und den Code auch schon mehrmals umgestellt. String-Verkettung habe ich schon in diversen Varianten gemacht. Auch den GET Parameter hatte mit htmlspecialchars gereinigt, obwohl das hier keine Rolle spielen sollte. Pfad absolut und relativ führt zum selben Problem.
Bin für jeden Hinweis dankbar!