Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Bilder aus Datenbank rotieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Bilder aus Datenbank rotieren

    Hey zusammen,
    ich schreibe einige Bilder als LONGBLOB in eine MySQL-Datenbank. Ausgeben tue ich sie dann folgendermaßen:
    PHP-Code:
    header("Content-type: "$type );
    header("Content-length: "$size );
    header("Content-Disposition: attachment; filename=\""$name."\"" );
    header("Content-Description: PHP Generated Data");
    print 
    $binary_data
    Jetzt würde ich das Bild gerne ggf. rotieren. Dazu habe ich die Funktion imagerotate gefunden. Hier wird jedoch als Parameter eine image resource gefordert... wie kann ich aus einem BLOB ein solches erzeugen??
    Vielen dank für eure Hilfe
    Määx

  • #2
    Schau dir mal imagecreatefromstring an. Damit solltest du deine Resource erhalten.
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      super! Vielen Dank!

      Kommentar


      • #4
        Hey,
        hatte das ganze gestern bei mir auf meinem Rechner mit XAMPP getestet und es funktionierte super... nachdem ich es auf meinen Server hochgeladen habe bekam ich jedoch den Fehler, dass die Funktion imagecreatefromstring nicht gefunden wurde!!! Auf dem Server ist jedoch PHP 5.2.6 Ubuntu drauf! Nach PHP: imagecreatefromstring - Manual sollte es damit funktionieren!

        Woran könnte das liegen? Muss man irgendwo noch irgendwelche Einstellungen ändern die XAMPP standardmäßig hat?
        Vielen Dank
        Määx

        Kommentar


        • #5
          schau in der phpinfo nach ob die gdlib überhaupt vorhanden ist, wenn nicht solltest du dich mal an deinen Hoster wenden.

          Allgemein würde ich dir eh raten die Bilder nicht in der Datenbank zu speichern, aus performance und backup-Gründen.

          Die Backups werden schnell groß und unhandlich (komplizierter zu erstellen und einzuspielen).
          Abhängig von der mysql-einstellung gibt es maximale größen von queries die bei shared hostern oftmals recht niedrieg sind was dazu führen kann dass dein script mit etwas größeren bildern nicht mehr funktioniert und wenn der db-server was man auch bei shared-hostern öfters findet, nicht lokal ist, sondern eine andere kiste im netz, bedeutet jedes bild-auslesen immer doppelten traffic (intern wird zwar meist nicht berechnet, geht aber auch auf die performance), weil das bild erst übers netz vom mysql-server zum webserver übertragen wird und dann erst client geschickt wird.
          [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
          | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

          Kommentar


          • #6
            ah perfekt! Die ist nicht drauf! Werde mal schauen dass ich die noch nachinstalliert bekomme...

            Wegen deinen anderen Tipps danke, aber es muss aus Datenschutzgründen alles in der Datenbank abgelegt werden. Bei dieser handelt es sich um einen "eigenen" Server - von daher ist die Performance auch kein Problem. Weiterhin wird die Datenbank alle 24h von einem cronjob aufgeräumt und bleibt somit bei einer überschaubaren Backupgröße

            So dann stürze ich mich mal in die weitere Programmierung... nochmal vielen Dank für die schnelle&kompetente Hilfe!! Super Forum!!

            Kommentar


            • #7
              Würde mich doch schon mal interessieren was Bilder in der Datenbank speichern mit Datenschutz zu tun hat ?

              Die Datenbank ist ja auch kein magisches Wunder-Objekt, die Daten in der DB liegen ja auch wiederrum in Dateiform auf der HDD (HEAP/Memory-Tables mal ausgenommen).

              Ob du also die Daten direkt auf der HDD speicherst es dir einfacher machst und performanter und sie dann dort vom Cron löschen lässt oder sie in die DB steckst und da immer rausholen musst, macht im Bezug auf Datenschutz eigentlich keinen Unterschied.

              Wenn es um direkten Zugriff geht kannst du Bilder ja einfach in ein Verzeichnis klatschen oberhalb des Web-root speichern dass man via webserver nicht rankommt und sie einfach durch ein php-script schleusen so wie du es ja bei mysql auch machen musst.
              [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
              | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

              Kommentar


              • #8
                Zitat von robo47 Beitrag anzeigen
                Würde mich doch schon mal interessieren was Bilder in der Datenbank speichern mit Datenschutz zu tun hat ?
                Nichts natürlich ... da hat offenbar mal wieder ein Entscheider keine Ahnung von der Technik.
                [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                Kommentar

                Lädt...
                X