ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
936
936
EMPFEHLEN
-
Hi,
sorry für die wahrscheinlich scho tausend mal gefragte Frage...
Hab aber leider nix gefunden:
Ich habe in einer MySQL Datenbank verschiedene Bilder als BLOB Einträge gespeichert... Ja ich weis es lahmt die Datenbank usw... aber ich möchte es trotzdem machen
Wie kann ich jetzt über eine Abfrage machen, dass es ein Bild ausgibt
Sorry, aber ich hab bisher nur Texte ausgeben, meistens über
wie kann ich jetzt das Bild "raushohlen"?PHP-Code:'.$ausgabe['test'].' ';
Danke
-
Vor dem Ausgeben des „Grafik-Rohinhalts“ musst du dem User Agent vorher mitteilen, um welchen Inhalt es sich dabei handelt, damit er sie entsprechend interpretieren kann. Dazu sendest du einfach ein HTTP-Header-Feld „Content-Type“ mithilfe der header()-Funktion mit Angabe des entsprechenden Media-Typen.
Markus Wulftange
-
14.06.05 20:14 #3
- Registriert seit
- Jun 2005
- Ort
- Buxtehude (Niedersachsen)
- Beiträge
- 256
Dafür gibt es zwei Möglichkeiten die mir spontan einfallen.
Die erste ist, Du schreibst den Inhalt in eine Datei und gibst diese dann als bild aus.
Z.B.
$fp=fopen("bild.gif",'w');
fwrite($fp,$blobfeld);
flclose($fp);
<img src="bild.gif">
, oder zweitens Du machst das ganze in einem neuen Skript und gibst dieses dann als img src="skript.php?id=1" an.
Im Skript schreibst du dann.
<?
header('Content-Type: image/gif');
Hier must Du dein Blobfeld aus der Datenbank auslesen
echo $blobfeld;
?>
Marcus.Nichts hält so lange wie ein Provisorium....
-
danke für die Antwort,
muss ich die dann ganz oben auf die Ausgabe Seite packen, also praktisch in den Head
Könntest du mir ganz kurz ein Beispiel komplett Coden, wie es da stehen müsste Es handelt sich um .JPG dateien
-
hmm... hab das mit dem Content Typ eingebaut, aber irgendwie zeigt er mir jetzt immer den Fehler
Code :1
Die Grafik "http://www.....de/gallery.php?picid=1" kann nicht angezeigt werden, weil sie Fehler enthält.
Ich poste mal eben meinen Code mit dem ich alles ausführ
PHP-Code:<?php
header('Content-Type: image/jpeg');
$host = "localhost";
$user = "";
$password = "";
$dbname = "";
$tabelle ="gallery";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle where picid='$picid'";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
echo'<table border="1" style="border-collapse: collapse">';
while ($ausgabe = mysql_fetch_array ($result))
{
echo $ausgabe["pic"];
}
echo'</TABLE>';
mysql_close ($dbverbindung);
?>
-
Nein, dass ist nicht möglich. Du müsstest jede Grafik einzeln abfragen, wie es shockshell in seinem letzten Beitrag beschrieb.
Markus Wulftange
-
Ja, das möchte ich auch...
Soll mal so eine Gallery zum Durchklicken werden... bin grad in der Anfangsphase Schau dir doch bitte mal die 2 Beiträge von mir weiter oben an... wäre dir dankbar wenn du den Fehler finden kannst
In der Datenbank gibt es die Felder "picid" und "pic" wo das Blob drinnen ist.
-
Der Fehler in deinem Quellcode liegt darin, dass der Browser nach Angabe des Media-Typen versucht, den gesamten gesendeten Inhalt (auch die HTML-Tags) als eine JPEG-Grafik zu interpretieren, was natürlich völliger Quatsch ist.
Daher müsstest du jeder Grafik einzeln anfordern, aus der Datenbank abfragen und an den UA senden. Shockshell hat es in seinem letzten Beitrag beschrieben, wie dies zu lösen ist.Markus Wulftange
-
*schäm*
hab den fehler gefunden! Lag an mir... der Code funktioniert.... Hab die Falsche ID übergeben!
SORRY... aber danke, es klappt alles!
-
jetzt werde ich verrückt....
Das Skript hat funktioniert, jetzt habe ich einige Zeit nichts mehr gemacht, und jetzt funktioniert es nicht mehr!?
Ich habe die Bilder ganz normal al BLOB in der Datenbank gespeichert und will sie über folgendes Skript per gallery.php?picid=1 abrufen:
aber irgendwie funktioniert die Ausgabe nicht. Ich sehe immer nur die Ausgabe:PHP-Code:<?php
header('Content-Type: image/jpeg');
$host = "localhost";
[..]
$tabelle ="gallery";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle where picid='$picid'";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result))
{
echo' '.$ausgabe['pic'].'';
}
mysql_close ($dbverbindung);
?>
Die Grafik "http://www.turnbeutel-verlierer.de/gallery.php?picid=1" kann nicht angezeigt werden, weil sie Fehler enthält.
Weis jemand rat
Danke
-
17.06.05 14:34 #11
- Registriert seit
- Jun 2005
- Ort
- Buxtehude (Niedersachsen)
- Beiträge
- 256
Der Fehler ist wahrscheinlich das Leerzeichen bei denem echo.
echo ' ' sollte eher heißen
echo $ausgabe['pic'];
Zudem brauchst Du keine Schleife, da du ja nur ein Feld aus einem Datensatz ausgeben willst.
MarcusNichts hält so lange wie ein Provisorium....
-
Danke Es funktioniert
Hatte scheinbar doch irgendwas mit der Ausgabe zu tun
Hab die Schleife jetzt auch rausgenommen!
Danke für deine Hilfe!
Ähnliche Themen
-
[mySQL 5] Zu den Monaten Einträge zählen und Monate ohne Einträge auch ausgeben.
Von FlaverSaver im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 27.09.10, 18:11 -
HashMap einträge ausgeben!
Von hoelle1985 im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 03.04.08, 17:52 -
Blob als String in Konsole ausgeben, in datei schreiben
Von tplanitz im Forum JavaAntworten: 4Letzter Beitrag: 14.11.07, 08:07 -
Blob Einträge automatisch generieren
Von maga147 im Forum PHPAntworten: 5Letzter Beitrag: 23.07.05, 13:13 -
DB Einträge als Raster ausgeben
Von nafets im Forum ASPAntworten: 4Letzter Beitrag: 08.10.04, 15:47





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren