Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Bildresource in Datenbank Speichern/Cachen

Einklappen

Neue Werbung 2019

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

  • PHP Bildresource in Datenbank Speichern/Cachen

    Hallo,
    Bin ganz frisch hier, und hoffe das man mir hier besser behilflich sein kann

    Also ganz plump meine Frage: Ich möchte eine von PHP mit imagecreatefrompng generierten Bildresource in einer MySql-Datenbank Speichern.

    Hintergrund ist, dass ich einen kleinen Bildergenerator habe, der mir PNG-Bilder mit dynamischen Inhalten ausgibt. Da das Bild bei jedem Aufruf neu generiert wird, und auf dem Banner auch Querys an Game/Voice-Server gehen ist das nicht gerade effektiv. Meine Idee war es, den Banner nur alle 30 Sekunden zu generieren, und alle Anfragen von der Datenbank aus zu beantworten.

    Zum Speichern in der Datenbank selbst ist Blob geplant. Allerdings muss ich ja die Bildresource dazu vorher in einen String verwandelt haben, und muss diese auch wieder zurück zu einer Bildresource machen können, damit ich dann das Bild aus der Datenbank mit ImagePNG(Bildresource) wieder ausgeben kann.

    Ich hoffe das war soweit als erster Beitrag verständlich
    MfG Elias
    Wenn dein Plan nicht funktioniert, dann ändere den Plan aber niemals das Ziel!

  • #2
    Wenn es nicht einen guten Grund gibt das Bild in der Datenbank zu speichern, z.B. ein verteiltes System oa. würde ich eher dazu tendieren, dass Bild in einem Cache Ordner abzulegen und nur den Pfad zu dem Bild in der Datenbank zu speichern.

    Ansonsten:
    PHP-Code:
    ob_start();
    imagejpeg($tmp_img);
    $i ob_get_clean(); 
    Und lesen dann mit imagecreatefromstring.

    Kommentar


    • #3
      Zitat von MineTec Beitrag anzeigen
      Zum Speichern in der Datenbank selbst ist Blob geplant. Allerdings muss ich ja die Bildresource dazu vorher in einen String verwandelt haben
      Woher hast du das denn? In der MySQL-Doku steht das nämlich anders...

      Kommentar


      • #4
        Zitat von Zeichen32 Beitrag anzeigen
        Ansonsten:
        PHP-Code:
        ob_start();
        imagejpeg($tmp_img);
        $i ob_get_clean(); 
        Wenn die GD-Resource möglichst unverfälscht in der Datenbank gespeichert werden soll ist imagejpeg() die schlechteste Wahl.
        Vom Grundsatz funktioniert die Lösung aber so.

        Dormilich : Resourcen können nicht in einer DB gespeichert werden. Also muss der Umweg über Binary-Strings gegangen werden. Oder was meinst du mit

        In der MySQL-Doku steht das nämlich anders...
        ?

        Kommentar


        • #5
          Zitat von jspit Beitrag anzeigen

          Wenn die GD-Resource möglichst unverfälscht in der Datenbank gespeichert werden soll ist imagejpeg() die schlechteste Wahl.
          Vom Grundsatz funktioniert die Lösung aber so.
          Stimmt, da er PNG verarbeitet, sollte er natürlich imagepng verwenden.

          Kommentar

          Lädt...
          X