Grenzen der GD-Library ?

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

  • Grenzen der GD-Library ?

    Hallo allesamt,
    beim Bildupload meines CMS muss ich fetsstellen, dass Bilder die ca. über 1.800.000 Pixel beinhalten, nach dem Upload nochmal ein Bildbeschneidungsscript durchlaufen, nicht auf den Server geschrieben werden.
    Am Script liegts nicht.
    Und der Server nimmt grundsätzlich upload-files bis 20 MB.

    PHP-Version: 4.2.3
    GD-Version: 1.6.2 or higher

    ist dies vielleicht ein "bekanntes" Problem der Library?

    Gruß
    Michael Jauernig
    http://www.designbetrieb.de
    webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

  • #2
    Hmm... Versuch doch erstmal rauszufinden, was mit dem Bild während des Beschneidungsvorgangs passiert. Also imagesize() am Anfang und vor dem Speichern. Könnte ja auch sein, dass irgendeine OS-Quota oder so überschritten wird. Kann mir nicht vorstellen dass die GD so schnell bei der Auflösung abkackt.
    Oft liegts auch an völlig abwegigen Details, z.B. dass deine Bilder > 1.800.000 Pixel von der Digicam kommen und in einem JPEG-Format abgespeichert werden, das GD nicht lesen kann. Hast Dus mit einem völlig neutralen JPEG etwa von photocase.de versucht?
    Zuletzt geändert von pekka; 09.05.2003, 12:55.

    Kommentar


    • #3
      habs mal weitergetestet...

      bei den Testdurchgängen wird nix mehr beschnitten. Das Testbild wurde vorher in Photoshop neu abgespeichert in den unerschiedlichsten Bildgrößen (Pixelmenge). Irgendwo zwischen 1,8 Mio und 1,9 Mio Pixeln war Feierabend mit hochspielen.

      Folgende GD-Funktionen kommen bei den Tests zum Einsatz:
      imagecreatefromjpeg
      imagecreate und imagecopyresized (hier wird das Bild allerdings 1:1 weitergereicht)
      imagejpeg und am Ende
      imagedestroy

      spezielle Fotos von photocase nutzen mir nicht, schließlichkann man nicht vom techn. ahnungslosen Kunden erwarten, dass er sich damit auseinandersetzt

      Gruß
      Micha
      http://www.designbetrieb.de
      webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

      Kommentar


      • #4
        Mit photocase meinte ich einfach JPEGs die definitiv schon mal von GD oder was ähnlichem bearbeitet wurden. Wobei photocase auf ASP basiert. Egal.

        Vielleicht ein Speicherproblem? Wieviel Speicher darf ein PHP-Skript auf deinem Server verbraten? Hast Du irgendwo Funktionsaufrufe mit "@" davor, die Fehlermeldungen unterdrücken, die vielleicht auf des Pudels Kern zeigen könnten?

        Kommentar


        • #5
          ne, weder noch...
          http://www.designbetrieb.de
          webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

          Kommentar


          • #6
            Re: Grenzen der GD-Library ?

            Original geschrieben von scanline
            Und der Server nimmt grundsätzlich upload-files bis 20 MB.
            Hallo,
            was mir zu der Sache spontan einfällt, ist die Laufzeitbeschränckung von PHP die ohne Änderung in der php.ini bei 30 Sekunden liegt. Hast du echt so ne verdammt schnelle Internetleitung, dass du 20 MB in 29 Sekunden hochladen kannst und ist der Server so Leistungsstark, dass er das Bild mit 20 MB dann in einer einzigen Sekunde beschneiden kann ??? Sollte dies nicht der Fall sein, kann ich dir nur empfehlen, wenn du so extreme Bild-Uploads wirklich brauchst, dann solltest du das besser mit einem Perl oder noch besser C CGI lösen, denn da gibt es weder eine Zeit noch eine Speicher Begrenzung, aber ob das so gut für den Server ist sollte auch wieder jeder selber entscheiden.
            Ach ja und noch ein hinweis, wenn in der php.ini steht, dass Dateien mit 20 MB upgeloadet werden können, so sollte das memory_limit ca. doppelt so gross sein damit PHP das Ding auch nach dem Upload in den Speicher laden kann und dann auch bearbeiten kann.

            Kommentar


            • #7
              Ich würd aufs memory-limit tippen. Imgcopyresize braucht schliesslich ein Mehrfaches der aktuellen Dateigrösse.

              Kommentar


              • #8
                Ja, ich habe parallel auch in der Newsgroup gepostet...sieht alles nach einem memory-limit aus.
                timeout kann nicht sein, da die reine uploadzeit nicht in selbigen gerechnet wird.
                gruß und dank
                micha
                http://www.designbetrieb.de
                webdesign suchmaschinenoptimierung printmedien grafikdesign corporate design logoerstellung fotografie

                Kommentar


                • #9
                  Selbes Problem

                  Hallo,

                  gibt es mittlerweile eine Lösung zu dem Problem? Ich bin auf selbiges gestosen, nachdem ich Bilder von meiner Digitalkamera in den Abmessungen 1600x1200 hochladen und verkleinern wollte und das Resultat nur ein schwarzes Bild war.

                  Am Memory_limit kann es aber nicht liegen, da bei mir auf dem Server 40 MB eingestellt sind und die Rechenzeit auch keine 30 Sekunden braucht.

                  Gruß Uwe

                  Kommentar


                  • #10
                    Ich würde, wie schon gesagt, ein Testfoto durch ein Bildbearbeitungsprogramm zu jagen, dort als JPEG zu komprimieren und es mit dem zu versuchen. Es gibt verschiedene JPEG-Varianten, und vielleicht kommt die GD mit den Rohdaten von der Kamera nicht klar.

                    Kommentar


                    • #11
                      schwarze Bilder (oder auch blaue) kommen in der Regel daher, dass die falschen Funktionen verwendet werden.
                      Bei GD < 2.x.x ImageCreate und bei GD >= 2.x.x ImageCreateTruecolor.

                      Das mit den blauen / schwarzen Bildern war bei mir das Problem nachdem ich den Hoster gewechselt hab und der neue GD 2.irgendwas drauf hatte. Dann hab ich einfach überall ImageCreate in ImageCreateTruecolor geändert und dann ging's wieder.
                      hopka.net!

                      Kommentar


                      • #12
                        Hab ich auch schon gemacht, hat aber nichts gebracht, hab das Bild sogar total verändert, genau das gleiche Ergebnis, muss also an Puretec liegen.

                        Gruß Uwe

                        Kommentar

                        Lädt...
                        X