phpbar.de logo

Mailinglisten-Archive

[php] JPGs aus Datenbank

[php] JPGs aus Datenbank

Markus Dobel markus_(at)_wollte-eigentlich-was-kuerzeres-denn.wer-will-schon-so-eine-lange-adresse-tippen.de
Mon, 14 Feb 2000 18:30:05 +0100


Marc Staiger wrote:
> 
> Hi Profis,
> wir haben GIF-Bilder in einer Datenbank (als Binärdaten) und möchten
> diese nun im Browser darstellen. Müssen wir die Daten dafür wieder
> in eine (temporäre) GIF-Datei konvertieren, die wir dann problemlos
> referenzieren können oder geht das auch effizienter (...indem wir die
> Bilder wieder aus der Datenbank herausnehmen..?)?

sowohl als auch. du kannst bilder problemlos (performanceprobleme mal
aussen vor) in einer DB speichern und dort auch wieder rausholen.
performanter ist es jedoch (wie schon oftmals gesagt), nur verweise in
der DB zu speichern und die bilder im dateisystem zu belassen.

> Konkret: gibt es in PHP eine Möglichkeit, ein Bild, das binär in einer
> Variablen steckt anzuzeigen?

ja, gibt es. am beispiel mysql saehe es so oder so aehnlich aus:
(ungetestet in den mailer gehackt)

<?php
  include("sqlpasswd.inc.php3");
  Header("content-type: image/gif");
  Header("pragma: no-cache");
  $dbsess = mysql_connect($host,$username,$password);
  mysql_select_db("meinedatenbank",$dbsess);
  $query = mysql_query("SELECT bild FROM tabelle WHERE ID=".$bild_id);
  if ($row = mysql_fetch_row($query)) {
    print(strip_slashes($row[0]));
  }
  else {
    passthru("/home/httpd/icons/unknown.gif");
  }
?>

dieses script speicherst du nun als showgif.php3 und referenzierst es in
einer htmldatei als

<image src="showgif.php3?bild_id=42">

diese moeglichkeit ist jedoch nicht performant und du solltest es
vielleicht wirklich in erwaegung ziehen, die bilder wieder da
rauszuholen und im dateisystem zu speichern.

gruss, markus


php::bar PHP Wiki   -   Listenarchive