Hallo Leute!
Ich habe mir mal eine Bilddatenbank mit dem LAMP-System gebastelt. Ich kann Bilder und Text mit einem php-Script prima uploaden. Ebenfalls habe ich ein Script, das mir die Bilder �ber " ...php?id=x" an den Browser ausgibt. Nun m�chte ich aber gern �ber (oder unter) das Bild meine zum Bild geh�rigen (und in mysql abgespeicherten) Texteintr�ge mit anzeigen. Da aber vor der Bildausgabe ein
header ("Content-type: jpeg")
steht (o.�.!), schl�gt jede nachfolgende Textausgabe fehl, da Text nun mal nicht jpeg ist, klar. Wie kann ich aber mein Problem l�sen? (M�glichst nicht unbedingt mit tempor�ren Dateien!).
F�r jeden Tip dankbar: Peter.
Am Mittwoch, 2. Januar 2002 16:39 schrieb Peter Zabelt:
Hallo Leute!
Ich habe mir mal eine Bilddatenbank mit dem LAMP-System gebastelt. Ich kann Bilder und Text mit einem php-Script prima uploaden. Ebenfalls habe ich ein Script, das mir die Bilder über " ...php?id=x" an den Browser ausgibt. Nun möchte ich aber gern über (oder unter) das Bild meine zum Bild gehörigen (und in mysql abgespeicherten) Texteinträge mit anzeigen. Da aber vor der Bildausgabe ein
header ("Content-type: jpeg")
steht (o.ä.!), schlägt jede nachfolgende Textausgabe fehl, da Text nun mal nicht jpeg ist, klar. Wie kann ich aber mein Problem lösen? (Möglichst nicht unbedingt mit temporären Dateien!).
Für jeden Tip dankbar: Peter.
Hallo Peter Du könntest auf den Header verzichten, die Ausgabe mit einer Tabelle realisieren und den Bildtext z.B. als Table-Caption ausgeben . Den Header brauchst Du eigentlich nicht. CU Thorsten
Jens Puruckherr schreibt:
Ja, Du hast Recht (siehe mein o.�.)! Die Ausgabe des Bildes funzt ja klaglos, nur die sich-anschlie�en-sollenden Textfelder kommen nicht!
Peter.
Am Mittwoch, 2. Januar 2002 16:39 schrieb Peter Zabelt:
header ("Content-type: jpeg")
muss das nicht Content-type: image/jpeg oder so �hnlich heissen?
Mit freundlichen Gr��en
Jens Puruckherr
Lug-dd maillist - Lug-dd@schlittermann.de http://mailman.schlittermann.de/mailman/listinfo/lug-dd
Am Mittwoch, dem 02. Januar 2002 um 18:15:19, schrieb Peter Zabelt:
Ja, Du hast Recht (siehe mein o.ä.)! Die Ausgabe des Bildes funzt ja klaglos, nur die sich-anschließen-sollenden Textfelder kommen nicht!
Möchtest du nur ein Bild oder eine HTML-Seite mit einem eingebettetem Bild (<img src="...">) ausgeben? Die Antwort auf letzteres ging bereits durch die Liste.
Verwundert, Torsten
On Wed, Jan 02, 2002 at 06:15:19PM +0000, Peter Zabelt wrote:
Ja, Du hast Recht (siehe mein o.ä.)! Die Ausgabe des Bildes funzt ja klaglos, nur die sich-anschließen-sollenden Textfelder kommen nicht!
Wo willst du in einem Dokument mit "Content-type: image/jpeg" noch was anderes neben dem jpeg-Bild unterbringen. So ganz klar ist mir nicht, was du eigentlich anstellen willst.
Reinhard
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wednesday 02 January 2002 16:39, Peter Zabelt wrote:
Hallo Leute!
Ich habe mir mal eine Bilddatenbank mit dem LAMP-System gebastelt. Ich kann Bilder und Text mit einem php-Script prima uploaden. Ebenfalls habe ich ein Script, das mir die Bilder über " ...php?id=x" an den Browser ausgibt. Nun möchte ich aber gern über (oder unter) das Bild meine zum Bild gehörigen (und in mysql abgespeicherten) Texteinträge mit anzeigen. Da aber vor der Bildausgabe ein
header ("Content-type: jpeg")
steht (o.ä.!), schlägt jede nachfolgende Textausgabe fehl, da Text nun mal nicht jpeg ist, klar. Wie kann ich aber mein Problem lösen? (Möglichst nicht unbedingt mit temporären Dateien!).
Du brauchst entweder 2 Skripte oder eines mit unterschiedlichen Reaktionen auf unterschiedliche Daten. Ich mach mal mit 2, ist einfacher:
http://meinserver/bildtext.php?id=5 gibt Dir eine HTML-Seite mit dem Text und einem Link zu Bild 5, also etwa so:
<html> <?php //daten fuer Bild 5 holen print("<title>Bild Nr. ".$id."</title>\n<body>"); print("<img src=\"bild.php?id=".$id."\"><p>\n"); print($bildtext); ?> </html>
das zweite verbirgt sich, wie man unschwer erkennen kann, hinter bild.php und macht exakt das, was Dein jetziges Skript macht: es gibt das Bild aus, das in $id uebergeben wird. Damit brauchst Du auch keine temporaere Datei.
Warnung: bei dieser Technik (und den meisten anderen) sollte man unbedingt in _allen_ Skripten die Zugriffsrechte des Clients pruefen (soweit Rechteverwaltung verwendet wird), weil man sonst die Skripte recht einfach austricksen kann. Merke: vertraue niemals auf die Daten, die Du vom Browser bekommst, auch wenn Du glaubst sie ihm selbst gegeben zu haben.
Konrad
- -- BOFH excuse #331:
those damn racoons!
Hallo und Danke an alle Helferlein!
Habe mir auf Grund der zahlreichen Tips doch nochmal paar Lektüreseiten im INET gegönnt und habe meine Ausgabe ganz und gar umgestellt, in dem ich jetzt die Bilddatei aus der DB erst mal in ein tmp-Verz. speichere und dann mit <img src = ...> wieder an den Browser ausgebe. Da kann ich dann noch beliebig viele Texteinträge aus der DB dazugeben.
Nochmals Danke für die Anregungen!
Peter.
On Wed, 2 Jan 2002, Konrad Rosenbaum wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wednesday 02 January 2002 16:39, Peter Zabelt wrote:
Hallo Leute!
Ich habe mir mal eine Bilddatenbank mit dem LAMP-System gebastelt. Ich kann Bilder und Text mit einem php-Script prima uploaden. Ebenfalls habe ich ein Script, das mir die Bilder über " ...php?id=x" an den Browser ausgibt. Nun möchte ich aber gern über (oder unter) das Bild meine zum Bild gehörigen (und in mysql abgespeicherten) Texteinträge mit anzeigen. Da aber vor der Bildausgabe ein
header ("Content-type: jpeg")
steht (o.ä.!), schlägt jede nachfolgende Textausgabe fehl, da Text nun mal nicht jpeg ist, klar. Wie kann ich aber mein Problem lösen? (Möglichst nicht unbedingt mit temporären Dateien!).
Du brauchst entweder 2 Skripte oder eines mit unterschiedlichen Reaktionen auf unterschiedliche Daten. Ich mach mal mit 2, ist einfacher:
http://meinserver/bildtext.php?id=5 gibt Dir eine HTML-Seite mit dem Text und einem Link zu Bild 5, also etwa so:
<html> <?php //daten fuer Bild 5 holen print("<title>Bild Nr. ".$id."</title>\n<body>"); print("<img src=\"bild.php?id=".$id."\"><p>\n"); print($bildtext); ?> </html>
das zweite verbirgt sich, wie man unschwer erkennen kann, hinter bild.php und macht exakt das, was Dein jetziges Skript macht: es gibt das Bild aus, das in $id uebergeben wird. Damit brauchst Du auch keine temporaere Datei.
Warnung: bei dieser Technik (und den meisten anderen) sollte man unbedingt in _allen_ Skripten die Zugriffsrechte des Clients pruefen (soweit Rechteverwaltung verwendet wird), weil man sonst die Skripte recht einfach austricksen kann. Merke: vertraue niemals auf die Daten, die Du vom Browser bekommst, auch wenn Du glaubst sie ihm selbst gegeben zu haben.
Konrad
lug-dd@mailman.schlittermann.de