Bildbreite mit ImageCreateFromJPEG

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

  • Bildbreite mit ImageCreateFromJPEG

    Hallo habe folgendes Problem.
    Wenn ich ein Bild hochlade, dann scheint die Bild-Breite begrenzt.

    Z.B. ist das Bild unter 2000 Pixel breit funktionierts

    aber wenn es z.B. über 2800 Pixel breit ist ist EBBE.

    Wo oder Wie kann ich das Problem beheben ?!?!?!!????

    PHP-Code:

    if (substr($file_2,-4) == '.jpg' || substr($file_2,-4) == '.JPG' ) {
        
    $size=getimagesize("original/"."$file_neu"); 
        
    $breite=$size[0]; 
        
    $hoehe=$size[1];
        
    $neueBreite=100
        
    $neueHoehe=intval($hoehe*$neueBreite/$breite);
    $altesBild=ImageCreateFromJPEG("original/"."$file_neu"); 
    $neuesBild=ImageCreatetruecolor($neueBreite,$neueHoehe); 
    ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
        
    $dir_neu "minis/".$file_neu ;
        
    imagejpeg($neuesBild,$dir_neu,75);
        
    $altesBild=''$neuesBild='';
        
    error_reporting(E_ALL);


    LÖSUNG :

    einfach
    in der php.ini

    memory_limit = 256M #zuvor 32M

    setzen
    Zuletzt geändert von rossixx; 04.01.2008, 18:03.
    fotos :

    http://www.flickr.com/photos/rassloff/collections/

  • #2
    aber wenn es z.B. über 2800 Pixel breit ist ist EBBE.
    Und was genau heisst das? Ist das Bild nach dem Upload nicht vorhanden? Hast du mal die Grössenbeschränkung für Uploads in der php.ini angeschaut? Ist das Bild ev zu gross?
    Wenn du das Bild öffnest, wieviel Speicher braucht das? Ev mehr als in der php.ini gesetzt ist
    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


    • #3
      oh sorry

      Also das Bild wird hochgeladen, aber es wird nicht kleiner gemacht. Original ist ca. 3MB groß.

      Also an der Uploadgröße der php.ini kann es damit nicht liegen.

      Oder???
      fotos :

      http://www.flickr.com/photos/rassloff/collections/

      Kommentar


      • #4
        Also das Bild wird hochgeladen, aber es wird nicht kleiner gemacht.
        Dein error_reporting() ist voll aufgedreht (E_ALL) ? Lade nochmals das zu grosse Bild rauf, doch anstatt die Verarbeitung zu starten machst du einfach mal
        PHP-Code:
        var_dump($_FILES);
        exit; 
        Was steht nun in diesem Dump?

        Gruss

        tobi

        p.s. wie gross ist der upload Wert in der php.ini?
        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


        • #5
          Testausgaben? Fehlermeldungen? etc? pp?
          ICH BIN ICH!!!

          Kommentar


          • #6
            die Ausgabe , wenn ich ein Bild mit 2100 Pixel Breite nehme :

            array(1) { ["myfile1"]=>
            array(5) { ["name"]=> string(20) "b_168_breit_2100.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phptSC5UB" ["error"]=> int(0) ["size"]=> int(1434470) } }

            Und bei größeren Bildern steigt das Skript bei ImageCreateFromJPEG aus, hab ich mit echo getestet.

            php.ini

            upload_max_filesize 20M
            post_max_size 8M
            memory_limit 40M
            Zuletzt geändert von rossixx; 27.12.2007, 16:45.
            fotos :

            http://www.flickr.com/photos/rassloff/collections/

            Kommentar


            • #7
              Und bei größeren Bildern steigt das Skript bei ImageCreateFromJPEG aus, hab ich mit echo getestet.
              Wenn das Erstellen des Bildes fehlschlägt, steht dann zuvor eine Fehlermeldung im $_FILES-Array unter 'error'?
              Nochmal die Frage zum error_reporting(): Das hast du voll aufgedreht?
              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


              • #8
                Original geschrieben von jahlives
                Nochmal die Frage zum error_reporting(): Das hast du voll aufgedreht?
                ja, hat er - allerdings erst am ende des scriptes. scheint "modern" zu sein, gab neulich erst so einen spaßvogel hier im forum.

                Kommentar


                • #9
                  ja, hat er - allerdings erst am ende des scriptes. scheint "modern" zu sein, gab neulich erst so einen spaßvogel hier im forum.
                  Gerade auch gesehen. Jetzt bräuchte es den guten alten Mit-dem-Kopf-durch-die-Wand-Smilie
                  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


                  • #10
                    Keine Fehlermeldungen, auch wenn ich

                    error_reporting(E_ALL);

                    am Anfang vom Skript habe.
                    fotos :

                    http://www.flickr.com/photos/rassloff/collections/

                    Kommentar


                    • #11
                      Wie gross ist die maximale Upload Size in der php.ini? Wie gross ist der maximale Speicher, der einem PHP-Script zugestanden wird? Wie gross (genau) ist das Bild, das nicht mehr hochgeladen werden kann und mit welcher Farbtiefe?
                      Bist du dir 100% sicher, dass im Fehlerfall keine entsprechende Meldung im Dump von $_FILES angezeigt wird?
                      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


                      • #12
                        @jahlives die agaben hat er doch schon gemacht, liest du heute nicht mit ? um upload liegt es nicht. so wie es aussieht, geht dem script einfach der ram bei der bildverarbeitung aus.

                        @rossixx versuch mal noch ini_set('display_errors', 1); (auch an den anfang ) wenn auch nichts angezeigt wird, musst du wohl ins error-log schauen.

                        Kommentar


                        • #13
                          so wie es aussieht, geht dem script einfach der ram bei der bildverarbeitung aus.
                          Darum die Frage nach den Abmessungen und der Farbtiefe...
                          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


                          • #14
                            Das Hochladen funktioniert auch mit größeren Bildern,

                            hoehe = 2048 breite = 3072

                            array(1) { ["myfile1"]=>
                            array(5) { ["name"]=> string(20)
                            "berlin_1_5_04_58.jpg" ["type"]=> string(10)
                            "image/jpeg" ["tmp_name"]=> string(14)
                            "/tmp/phpDlOHMr" ["error"]=> int(0) ["size"]=> int(2567478) } }

                            meine Vermutung wäre auch, das die interne Verarbeitung scheitert.
                            fotos :

                            http://www.flickr.com/photos/rassloff/collections/

                            Kommentar


                            • #15
                              Fehler gefunden - aber keine Lösung

                              Allowed memory size of 33554432 bytes exhausted (tried to allocate 15552 bytes)

                              wo oder wie kann ich den zu allocate Speicher erhöhen ???

                              php.ini ??? wenn ja - welcher eintrag ???
                              fotos :

                              http://www.flickr.com/photos/rassloff/collections/

                              Kommentar

                              Lädt...
                              X