Zip :: Memory_limit

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

  • #16
    hi, hab mal mehrere memory_get abfragen gemacht, habe festgestellt, dass das Bild nur bis

    PHP-Code:
     $Img imageCreateFromJPEG($imagefile); 

    kommt. D.h. daran wirds liegen, weil zuvor noch kein speicher verbaucht wurde (abgesehen von den Resourcen, die beim Bild upload verbraucht wurden).

    hmm?


    ps: ja, habe image destroys eingebaut

    Kommentar


    • #17
      zeig mal aktuellen code.

      Kommentar


      • #18
        PHP-Code:
        function create_thumb($imagefile$thumbfile,$type)
            {
                echo 
        memory_get_usage();  // NUR der Wert von hier wird ausgegeben: 219088 
                
                
        if (file_exists($thumbfile)) return FALSE;
                    if (
        $type == "image/gif"){
                        
        $Img imagecreatefromgif($imagefile);
                        
        $Imgsize getimagesize($imagefile);
                        
        $oBreite $Imgsize[0];
                        
        $oHöhe $Imgsize[1];
                        echo 
        memory_get_usage();
                    }
                    if ((
        $type == "image/pjpeg") or ($type == "image/jpeg")){
                        
        $Img imageCreateFromJPEG($imagefile);
                        
        $oBreite imageSX($Img);
                        
        $oHöhe imageSY($Img);
                        echo 
        memory_get_usage();
                    }
                    
        $nBreite 200;
                    
        //zwischenrechung
                    
        $verhältnis $oBreite $nBreite;
                    
        $nHöhe $oHöhe $verhältnis;
                    
        $Out imageCreateTrueColor($nBreite$nHöhe);
                    echo 
        memory_get_usage();
                    
                    if (
        $type == "image/gif"){
                        
        imagecopyresized($Out$Img0000$nBreite$nHöhe$oBreite$oHöhe);
                        
        imagegif($Out,$thumbfile);
                        
        imagedestroy($Img);
                    }
                    if ((
        $type == "image/pjpeg") or ($type == "image/jpeg")){
                        
        imageCopyResampled($Out$Img0000$nBreite$nHöhe$oBreite$oHöhe);
                        
        imageJPEG($Out$thumbfile);
                        
        imagedestroy($Img);                            
                    }
                    
                    
        imagedestroy($Out);
                    return 
        true;    
            } 

        Kommentar


        • #19
          Wie hoch ist der Speicherverbrauch an der Stelle denn??
          Eine andere Alternative wäre ImageMagick

          Kommentar


          • #20
            echo memory_get_usage();
            // NUR der Wert von hier wird ausgegeben: >>>>>> 219088

            ca. die dateigröße 180 kb oder so


            kann man dises image magic per php ansteuern?

            Kommentar


            • #21
              rtfm. http://de2.php.net/manual/en/ref.imagick.php oder direkt per system() o.ä.

              bei wievieltem bild bleibt der stecken? direkt beim ersten?

              OffTopic:
              $nHöhe

              Kommentar


              • #22
                wie ich schon sagte, der speicher läuft nur bei diesem einen Bild voll (also wenn ich es -ohne vorher schon Bilder verarbeitet habe- durch mein Script schicke.

                ImageMagick hört sich gut an, werd ich mir zu Gemüte führen. Thx

                Kommentar


                • #23
                  das beantwortet nicht meine frage.
                  und warum bei "diesem einen"? klappt es mit _allen_ anderen?

                  Kommentar


                  • #24
                    wie ich schon sagte, der speicher läuft nur bei diesem einen Bild voll
                    Welches ist "dieses eine"?

                    Kommentar


                    • #25
                      Hast du mal versucht, statt getimagesize($filename) solche Image Funktionen zu verwenden, die du direkt auf die img-Ressource anwenden kannst ?
                      imagesx() resp imagesy()
                      Ändert sich dann etwas ?
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #26
                        @Jahlives,
                        ja ich verwende
                        PHP-Code:
                         if (($type == "image/pjpeg") or ($type == "image/jpeg"))
                                       {
                               
                        $Img imageCreateFromJPEG($imagefile);
                               
                        $oBreite imageSX($Img);
                               
                        $oHöhe imageSY($Img);
                            } 
                        @PHP desaster & penizilin
                        Der Speicher läuft nur bei Bildern voll mit sehr hohen Auflösungen und geringer Dateigröße.
                        Und wie ich schon sagte, es funktioniert mit allen anderen Bildern einwandtfrei.

                        Mit Image Magick lässt sich ein solches Problem lösen, daher thx für die Empfehlung

                        Kommentar

                        Lädt...
                        X