Antworten auf deine Fragen:
Neues Thema erstellen

Bilder aus MYSQL Datenbank auslesen

emtrion

Nicht mehr ganz neu hier

Hallo zusammen,

seit Stunden sitze ich nun schon an dem Problem und komme nicht weiter.

Ich habe Bilder in einer Datenbank gespeichert (ja ich will das so, ich kenne die Performanceeinbußen usw... ) und möchte diese nun auslesen. Dazu hab ich folgendes Script:

PHP:
<?php 
    include("../system/dbconnect.php");
    
    $id = 1;

    $db = 'data_hw_products';
    $query = "SELECT image, imagetype FROM $db WHERE id='".mysql_real_escape_string($id)."'";
    $res = mysql_query($query);
    if(!$res){
        echo mysql_error();
        return 0;            
    }
    else{
        $row=mysql_fetch_assoc($res);
        header('Content-type: '.$row['imagetype']);
        echo $row['image'];
    }
?>

Mir wird das Bild aber einfach nicht angezeigt! Wenn ich die header-Zeile auskommentiere, dann sehe ich den Inhalt des Bildes, also:
"‰PNG  \0\0\0 IHDR\0\0\0\0\0\0\0\0\0óÿa\0\0\0gAMA\0\0¯È7Šé\0\0\0tEXtSoftware\0Adobe ImageReadyqÉe<\0\0!IDAT8Ë•“ëNQ…‰‰É‰..."

Die Daten sind also korrekt in der Datenbank! Nur das ausgeben klappt nicht.

Fehlermeldungen gibt es nicht wirklich, Firefox sagt einfach nur, er könne die Grafik nicht anzeigen, weil Sie Fehler enthält.

Was mache ich falsch??

Grüße,
Stephan
 

Duddle

Posting-Frequenz: 14µHz

AW: Bilder aus MYSQL Datenbank auslesen

Ein Schuß ins Blaue: wurden die Bilddaten vor dem Einfügen in die DB irgendwie behandelt? Vielleicht ein mysql_real_escape_string(), dass du wieder rückgängig machen musst?


Duddle
 

Duddle

Posting-Frequenz: 14µHz

AW: Bilder aus MYSQL Datenbank auslesen

Auf Seite 7 finde ich
PHP:
$imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
Die Funktion ändert offensichtlich die verschickten Daten. Ich sehe zwar in deren Ausgabecode kein stripslashes(), aber du kannst es ja mal probieren.
PHP:
header('Content-type: '.$row['imagetype']);
echo stripslashes($row['image']);


Duddle
 

emtrion

Nicht mehr ganz neu hier

AW: Bilder aus MYSQL Datenbank auslesen

Auch das ergbit das gleiche Ergebnis!
Ich arbeite auf einem Windows-Server... Ich werde morgen mal das ganze auf einem Linux Apache versuchen. Vielleicht klappt es dann ja... Windows macht da öfter mal Probleme...
Ich melde mich dann wieder...
 

emtrion

Nicht mehr ganz neu hier

AW: Bilder aus MYSQL Datenbank auslesen

Leider habe ich auf dem Linux System genau das gleiche Verhalten.
Es muss also doch an meiner DB oder am Code liegen. ;(
 

Duddle

Posting-Frequenz: 14µHz

AW: Bilder aus MYSQL Datenbank auslesen

Hast du das irgendwo online? Falls ja, bau bitte einen einen GET-Parameter für die Bildausgabe-Datei ein, der festlegt ob der Header gesetzt wurde oder nicht. Oder ist das unternehmensintern o.ä.?

Ansonsten würde ich auf irgendeinen Fehler / eine Ungereimtheit bei der Kodierung von Datenbank oder Ausgabe spekulieren.


Duddle
 

emtrion

Nicht mehr ganz neu hier

AW: Bilder aus MYSQL Datenbank auslesen

Hallo,

ich hab das Problem gelöst! Dank Duddles Hilfe haben wir festgestellt, dass vor dem Bild immer eine Leerzeile eingefügt wird 0x0A. Diese Leerzeile stammt aus dem include der Datenbankdaten. Die includierte Datei hatte nach dem PHP-Tag noch Leerzeilen. Diese wurden dann als HTML interpretiert und vor die echo-Ausgabe gehängt! Und damit war in dem String für das Bild ein Zeichen, das 0x0A, zu viel!

Danke Duddle für die Hilfe. Ich hätte noch Tage gesucht!

Grüße,
Stephan
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben