Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild aus einer Datenbank laden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unknown
    hat ein Thema erstellt Bild aus einer Datenbank laden.

    Bild aus einer Datenbank laden

    Hi,

    ich habe ein Script geschrieben, dass ein Bild in die Datenbank lädt.

    Das Problem ist, dass ich nicht genau weiß, wie ich eine Binärdatei nun auch als Bild ausgeben kann

    Dachte es würde ganz einfach mit echo funktionieren....

    Es gibt so ein Script. Die Sache ist nur, dass ich nicht verstehe, wie das Script funktioniert und ich daher nicht implementieren kann. Der Anfang ist klar, aber was hat es mit dem
    Code:
    echo $data;
    auf sich?

    Code:
    <?php
    
    // getdata.php3 - by Florian Dittmer <dittmer@gmx.net>
    // Example php script to demonstrate the direct passing of binary data
    // to the user. More infos at http://www.phpbuilder.com
    // Syntax: getdata.php3?id=<id>
    
    if($id) {
    
        // you may have to modify login information for your database server:
        @MYSQL_CONNECT("localhost","root","password");
    
        @mysql_select_db("binary_data");
    
        $query = "select bin_data,filetype from binary_data where id=$id";
        $result = @MYSQL_QUERY($query);
    
        $data = @MYSQL_RESULT($result,0,"bin_data");
        $type = @MYSQL_RESULT($result,0,"filetype");
    
        Header( "Content-type: $type");
        echo $data;
    
    };
    ?>
    Der Autor sagt weiter, dass man das Bild so anzeigt: [img]getdata.php3?id=3[/img]

    Ich frage mich nur, was ist das Ergebnis von dem oberen Script, also wieso kann ich nicht gleich <img src=$data> machen. Oder liegt es an dem $type, dass das Bild angezeigt wird

    Hoffe ich bekomme noch die Erleuchtung

    Gruss
    Nima

  • Unknown
    antwortet
    ich weiß nun woran es liegt. Wenn man das Script aufruft, erkennt der Browser, dass es sich um eine Datei handelt und gibt diese Datei aus. Es ist als würde man die Datei erzeugen.

    Meine untere Funktion ist Teil eines größeren Scriptes, bei dem unteranderem eine HTML Seite generiert wird. Und so kann man die Datei nicht einfach mit echo ausgeben, wie im oben beschrieben.

    Man muss das über <img src=bild.php?id=1> machen und siehe da es geht. Evtl. gibt es auch eine etwas einfachere Methode, doch ich habe bisher nichts gefunden

    Gruss
    Unknown

    Einen Kommentar schreiben:


  • Unknown
    antwortet
    das dachte ich mir auch. aber ich habe das script mal getestet und bei ihm reicht einfach das echo zur Ausgabe des Bildes aus???

    Code:
        $query = "SELECT bild from produkte where id=".$id;
        $result = @MYSQL_QUERY($query);
    
        $data = @MYSQL_RESULT($result,0,"bild");
        echo $data;
    Genau das mache ich doch auch in meiner Schleife
    Code:
    $query = mysql_query("SELECT id, `name` , `status` , `preis1`, bild FROM produkte WHERE status != '1'");
    
    
    echo "<table border=0 cellspacing=0 cellpadding=10><tr>";
    // Ausgabe der Datensätze
    $count = 0;
    while (($daten = mysql_fetch_assoc($query))){
      echo "<td>".$daten['bild']."</td>";
    }//Ende der Schleife
    
    echo "</tr></table>";
    Wenn ich nun $daten['bild'] per echo ausgebe, bekomme ich den Binärcode und nicht das Bild. Im oberen Script zeigt er aber das Bild an?

    Ich verstehe nicht genau den Unterschied der beiden Scripte. Es muss wohl etwas mit dem mysql_result zu tun haben.....

    Gruss
    UNknown

    Einen Kommentar schreiben:


  • Bonaparte
    antwortet
    Ich frage mich nur, was ist das Ergebnis von dem oberen Script, also wieso kann ich nicht gleich <img src=$data> machen. Oder liegt es an dem $type, dass das Bild angezeigt wird
    so wie ich das sehe ist $data noch keine ausgabe. wenn du ein bild aus der datenbank haben möchtest musst du doch zunächst angeben welches. unter der id sind weitere angaben zum bild gespeichert (filename, filesize, filetype).

    Einen Kommentar schreiben:


  • Unknown
    antwortet
    danke, aber das habe ich auch schon gelesen....

    Einen Kommentar schreiben:


  • Bonaparte
    antwortet
    ich hab leider keine lösung für dein problem, aber etwas interessantes zum lesen

    http://php-faq.de/q/q-db-blob.html

    Einen Kommentar schreiben:

Lädt...
X