Convertieren von LONGBLOB in jpg

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Convertieren von LONGBLOB in jpg

    Liebe Freunde,


    ich bin ein Anfänger und möchte wissen, wie man „Longblob“ in „Image“ umwandelt. Ich habe Bilder in MySQL Datenbank gespeichert und will sie gerne ausgeben, aber es erscheint eine lange Kette von Sonderzeichen. Ich habe gerade die Bildverarbeitung und -genierung (PHP: Bildverarbeitung und -generierung - Manual) gelesen und nichts passendes gefunden.



    Kann mir jemand helfen?
    Danke!




    Mein Quellcode in PHP seiht wie folgt aus:

    [COLOR=red][FONT=&quot]<?php[/FONT][/COLOR]
    [COLOR=#c0c000][FONT=&quot]// Anmelden[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] function anmelden [/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$localhost[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$user[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$password[/FONT][/COLOR][COLOR=red][FONT=&quot])[/FONT][/COLOR]
    [COLOR=red][FONT=&quot]{[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$mysqlhost[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=black][FONT=&quot]$localhost[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR][COLOR=#c0c000][FONT=&quot]// MySQL-Host angeben[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$mysqluser[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=black][FONT=&quot]$user[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR][COLOR=#c0c000][FONT=&quot]// MySQL-User angeben[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$mysqlpwd[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=black][FONT=&quot]$password[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR][COLOR=#c0c000][FONT=&quot]// Passwort angeben[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=black][FONT=&quot]= mysql_connect[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$mysqlhost[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$mysqluser[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$mysqlpwd[/FONT][/COLOR][COLOR=red][FONT=&quot])[/FONT][/COLOR][COLOR=red][FONT=&quot]or[/FONT][/COLOR][COLOR=black][FONT=&quot] die [/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"Verbindungsversuch fehlgeschlagen"[/FONT][/COLOR][COLOR=red][FONT=&quot]);[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] return [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=red][FONT=&quot]}[/FONT][/COLOR]

    [COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=black][FONT=&quot]= anmelden[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"localhost"[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"root"[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]""[/FONT][/COLOR][COLOR=red][FONT=&quot]);[/FONT][/COLOR]
    [COLOR=#c0c000][FONT=&quot]// Name der Tabelle angeben[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$mysqldb[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'Test_db'[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]

    [COLOR=#c0c000][FONT=&quot]// Auf Datenbank zugreifen [/FONT][/COLOR]
    [COLOR=black][FONT=&quot] mysql_select_db[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$mysqldb[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=red][FONT=&quot])[/FONT][/COLOR][COLOR=red][FONT=&quot]or[/FONT][/COLOR][COLOR=black][FONT=&quot] die[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'Konnte die Datenbank nicht waehlen.'[/FONT][/COLOR][COLOR=red][FONT=&quot]);[/FONT][/COLOR]

    [COLOR=black][FONT=&quot]mysql_set_charset[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'utf8'[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=red][FONT=&quot]);[/FONT][/COLOR]

    [COLOR=#c0c000][FONT=&quot]// Die Zeille in ein Array speichern[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$sql[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"SELECT * FROM `Test_db`.`Test_tb`;"[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$row[/FONT][/COLOR][COLOR=black][FONT=&quot]= mysql_fetch_array[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=black][FONT=&quot]mysql_query[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$sql[/FONT][/COLOR][COLOR=red][FONT=&quot],[/FONT][/COLOR][COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=red][FONT=&quot]));[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$id[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$row[/FONT][/COLOR][COLOR=red][FONT=&quot][[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"id"[/FONT][/COLOR][COLOR=red][FONT=&quot]];[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$vorn[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$row[/FONT][/COLOR][COLOR=red][FONT=&quot][[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"Vorname"[/FONT][/COLOR][COLOR=red][FONT=&quot]];[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$name[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$row[/FONT][/COLOR][COLOR=red][FONT=&quot][[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"Name"[/FONT][/COLOR][COLOR=red][FONT=&quot]];[/FONT][/COLOR]
    [COLOR=maroon][FONT=&quot]$bild[/FONT][/COLOR][COLOR=black][FONT=&quot]= [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$row[/FONT][/COLOR][COLOR=red][FONT=&quot][[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]"Bild"[/FONT][/COLOR][COLOR=red][FONT=&quot]];[/FONT][/COLOR]



    [COLOR=black][FONT=&quot] print [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$id[/FONT][/COLOR][COLOR=red][FONT=&quot] .[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'<br />'[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] print [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$vorn[/FONT][/COLOR][COLOR=red][FONT=&quot] .[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'<br />'[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] print [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$name[/FONT][/COLOR][COLOR=red][FONT=&quot] .[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'<br />'[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] print imagecreatefromstring[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$bild[/FONT][/COLOR][COLOR=red][FONT=&quot]).[/FONT][/COLOR][COLOR=#0000f0][FONT=&quot]'<br />'[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] print [/FONT][/COLOR][COLOR=maroon][FONT=&quot]$bild[/FONT][/COLOR][COLOR=red][FONT=&quot];[/FONT][/COLOR]

    [COLOR=black][FONT=&quot] mysql_close[/FONT][/COLOR][COLOR=red][FONT=&quot]([/FONT][/COLOR][COLOR=maroon][FONT=&quot]$connection[/FONT][/COLOR][COLOR=red][FONT=&quot]);[/FONT][/COLOR]
    [COLOR=black][FONT=&quot] exit[/FONT][/COLOR][COLOR=red][FONT=&quot]();[/FONT][/COLOR]

    [COLOR=red][FONT=&quot]?>[/FONT][/COLOR]

    [COLOR=red][FONT=&quot]Und die Ausgabe sieht so aus:[/FONT][/COLOR]

    0
    Peter
    Mueller
    Resource id #5
    ÿØÿà[FONT=&quot]�[/FONT]JFIF[FONT=&quot]�[/FONT][FONT=&quot][1][/FONT][FONT=&quot]�[/FONT]`[FONT=&quot]�[/FONT]`[FONT=&quot]��[/FONT]ÿíJPhotoshop 3.0[FONT=&quot]�[/FONT]8BIM í Resolution[FONT=&quot]���� ……. und [/FONT][FONT=&quot]so[/FONT][FONT=&quot]weite zwei Seiten lang.[/FONT]

  • #2
    Hi.

    Hast Du Dir hier mal das Beispiel angeschaut dafür? PHP: imagecreatefromstring - Manual

    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Comment


    • #3
      Du kannst nicht Text und Bilddaten gleichzeitig ausgeben.

      Comment


      • #4
        Originally posted by PHP-Neuling View Post
        ... ich ... möchte wissen, wie man „Longblob“ in „Image“ umwandelt.
        Bitte erklär doch mal genauer, was du unter "Image" verstehst.

        Dein Script holt die Binär-Daten einer Grafik-Datei (JPEG-Format) aus der Datenbank und schiebt sie in die Standardausgabe. Die Anzeige in Textform ergibt dann den Zeichensalat, der typisch für Binärdaten ist.

        Wolltest du die Grafik-DATEI direkt ausgeben?

        Oder wolltest du die Grafik-DATEN bearbeiten? Für letzteres benötigst du die (von dir schon verlinkten) Bildbearbeitungs-Funktionen. Die Funktion imagecreatefromstring() ist ein Anfang. Sie erzeugt aus einem String (der die Binärdaten einer Grafikdatei enthält) eine so genannte Image-Resource, die man bearbeiten kann.


        Ich habe Bilder in MySQL Datenbank gespeichert und will sie gerne ausgeben, aber es erscheint eine lange Kette von Sonderzeichen.
        Das sind die Binärdaten. Willst du die von einem Webserver direkt an einen Browser schicken, musst du allen umgebenden Text weglassen und dem Browser sagen, welches Format du schickst. Die PHP-Funktion getimagesize() sagt dir die richtigen Werte. Ein sehr einfaches Script, was dies alles leistet, könnte so aussehen:

        PHP Code:

        $tmp_dir 
        sys_get_temp_dir(); // Verzeichnis fuer temporaere Dateien suchen
        $tmp_path tempnam($tmp_dir''); // darin eine temporaere Datei erzeugen

        file_put_contents($tmp_path$img_data); // die Grafik-Daten da reinschreiben

        $img_info getimagesize($tmp_path); // Infos ueber das Grafikformat holen
        if (!is_array($img_info)) {
            die(
        'getimagesize() could not extract image info data');
        }

        // sagt dem Browser, welche Art von Grafikdaten geliefert wird
        header('Content-Type: ' $img_info['mime']);
        $file fopen($tmp_path'rb'); // Datei zum Lesen oeffnen
        fpassthru($file); // die Daten senden
        fclose($file); // Datei wieder schlieszen (sonst laesst sie sich nicht loeschen)
        unlink($tmp_path); // Datei loeschen 



        Übrigens: PHP-Quellcode lässt sich hier prima (mit Syntax-Highlighting und all dem ganzen Kram) darstellen, wenn er zwischen [рhр]-Tags eingebaut wird. Damit sparst du dir das ganze COLOR- und FONT-Gebastel ...
        Last edited by fireweasel; 09-09-2010, 13:30.
        Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

        Comment


        • #5
          Danke sehr!!!!!!!!


          Eure Hilfe hat mich, sehr weite gebracht. Mein Problem ist gelöst.

          Wie gesagt, ich bin ganz neu und werde hoffentlich bald mehr wissen.

          Comment


          • #6
            Originally posted by h3ll View Post
            Du kannst nicht Text und Bilddaten gleichzeitig ausgeben.
            Mit HTML durchaus:

            PHP Code:
            echo '<img src="data:image/png;base64,' base64_encode($image) . '">'
            aber das nur der Vollständigkeit halber

            Comment

            Working...
            X