Bild aus MySql Datenbank auslesen und ausgeben

Tualex

Erfahrenes Mitglied
Ich habe ein Bild in meiner Datenbank gespeichert (mit BLOB) und möchte es jetzt auslesen und das Bild soll angezeigt werden.
PHP:
<?php
$con = null;
if($con = mysql_connect('localhost','root','')) {
 if(!(mysql_select_db('bildertest',$con))) {
  echo mysql_error();
 } 
}
else {
 echo mysql_error();
}
$result = mysql_query("SELECT datei FROM bilder");
?>

Weiter weiss ich leider nicht.
Mfg
Tualex
 
Da ich nur die Referenz zum Bild in einer DB speichere, bin ich mir bei der Lösung nicht zu 100% sicher:
PHP:
<?php
$con = null;
if($con = mysql_connect('localhost','root','')) {
 if(!(mysql_select_db('bildertest',$con))) {
  echo mysql_error();
 } 
}
else {
 echo mysql_error();
}
$result = mysql_query("SELECT datei FROM bilder");
while($bild = mysql_fetch_array($result))
{
  echo '<img src="'.$bild[0].'">;
}
?>
 
Da ich nur die Referenz zum Bild in einer DB speichere, bin ich mir bei der Lösung nicht zu 100% sicher:
PHP:
<?php
$con = null;
if($con = mysql_connect('localhost','root','')) {
 if(!(mysql_select_db('bildertest',$con))) {
  echo mysql_error();
 } 
}
else {
 echo mysql_error();
}
$result = mysql_query("SELECT datei FROM bilder");
while($bild = mysql_fetch_array($result))
{
  echo '<img src="'.$bild[0].'">;
}
?>
Das bild, nicht der link zum Bild ist in der Datenbank gespeichert deswegen geht mysql_fetch_array nicht weil er den quellcode des bildes ausgibt
 
Wenn es ein JPEG ist kannst Du z.B. sowas machen:
PHP:
header('Content-Type: image/jpeg');
echo $bild[0];
Fuer andere Bildformate musst Du dann halt den entsprechenden Content-Type angeben.
 
Das nächste Problem:

Wenn ich das Bild mit einem PHP Code in die MySql Datenbank einfügen will, werden dort nur 5 Bytes eingefügt obwohl es 13,4 kb sein sollten, hier der code:
PHP:
<?php

$con = null;

if($con = mysql_connect('localhost','root','')) {
	if(!(mysql_select_db('bildertest',$con))) {
		echo mysql_error();
	}	
}
else {
	echo mysql_error();
}


	$z = "logo_01.jpg";

	$query = "truncate table bilder";
	mysql_query($query);
	$content = readfile('./bild/' . $z);
	$query2 = "insert into bilder (datei) values (" . $content . ")";
	mysql_query($query2);

?>

EDIT Hat sich erledigt, sieht jetzt so aus:
PHP:
	$z = "./bild/logo_01.jpg";

	$query = "truncate table bilder";
	mysql_query($query);
	$data = addslashes(fread(fopen($z, "r"), filesize($z)));
    $result = mysql_query("INSERT INTO bilder (datei) VALUES ('$data')");
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück