Image resize Problem

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

  • Image resize Problem

    Hi @ll!

    Soweit funktioniert das Resize...

    Nur wenn das Bild welches ich hochladen möchte ca. 4000 x 3000 Pixel groß ist, dann verarbeitet er das Bild erst garnicht...

    Wenn ich das Bild manuell auf eine Größe auf ca. 1600 x 1200 ändere , dann gehts...

    Was mach ich falsch?

    Hier ist der Code:

    PHP-Code:
    if(isset($_POST['neu_bild'])){
                    if(!
    is_uploaded_file($_FILES['datei']['tmp_name'])){
                        echo 
    "<font color='#ff0000'>Bild wurde nicht hochgeladen</font>"
                    }elseif(!
    move_uploaded_file($_FILES['datei']['tmp_name'], '../images/'.$_FILES['datei']['name'])){
                        echo 
    "<font color='#ff0000'>Fehler beim Verschieben des Uploads</font>";
                    }elseif(empty(
    $_POST['bild_titel'])){
                        echo 
    "<font color='#ff0000'>Bitte geben Sie einen Titel ein</font>";
                    }elseif(empty(
    $_POST['arithmetic'])){ 
                        echo 
    "<font color='#ff0000'>Die Sicherheitsabfrage ist nicht gel&ouml;st worden</font>";  
                    }elseif(
    $_POST['number'] != md5($_POST['arithmetic'])){  
                        echo 
    "<font color='#ff0000'>Die Sicherheitsabfrage war falsch</font>";  
                    }elseif (
    $_POST["SPAM"] != ""){
                        die(
    'Fehler');
                    }else{
                        
    $galerie_titel $_POST['galerie_titel'];
                        
    $bild_titel $_POST['bild_titel'];
                        
    $bild_beschreibung $_POST['Anfrage'];
                        
    $timestamp time();
                        if(
    $_FILES['datei']['size'] < 1024000){
                            include(
    '../../include/db_verbindung.inc.php');
                            
    $sql mysql_query("INSERT INTO bilder SET galerie_titel='".$galerie_titel."',bild_titel='".$bild_titel."', 
                                bild_pfad='images/',bild_name='"
    .$_FILES['datei']['name']."',bild_beschreibung='".$bild_beschreibung."',timestamp='".$timestamp."'"); 
                            
    $dateityp getimagesize("../images/".$_FILES['datei']['name']);
                            
    $Grafikdatei "../images/".$_FILES['datei']['name'];
                            
    $OriginalBreite $dateityp[0];
                            
    $OriginalHoehe $dateityp[1];
                            if(
    $OriginalHoehe[1] < $OriginalBreite[0]){
                                
    $Neue_Breite 1024;
                            }else{
                                
    $Neue_Breite 768;
                            }
                            if(
    $OriginalBreite $Neue_Breite){
                                
    $Neue_Breite $OriginalBreite;
                            }
                            
    $Skalierungsfaktor $OriginalBreite $Neue_Breite;
                            
    $Neue_Hoehe intval($OriginalHoehe $Skalierungsfaktor);
                            if(
    $dateityp[2] == 1){
                                
    $Originalgrafik ImageCreateFromGIF($Grafikdatei);
                                
    $Thumbnailgrafik ImageCreateTrueColor($Neue_Breite$Neue_Hoehe);
                                
    imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$Neue_Breite$Neue_Hoehe$OriginalBreite$OriginalHoehe);
                                
    ImageGIF($Thumbnailgrafik$Grafikdatei100);
                            }
                            if(
    $dateityp[2] == 2){
                                
    $Originalgrafik ImageCreateFromJPEG($Grafikdatei);
                                
    $Thumbnailgrafik ImageCreateTrueColor($Neue_Breite$Neue_Hoehe);
                                
    imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$Neue_Breite$Neue_Hoehe$OriginalBreite$OriginalHoehe);
                                
    ImageJPEG($Thumbnailgrafik$Grafikdatei100);
                            }
                            if(
    $dateityp[2] == 3){
                                
    $Originalgrafik ImageCreateFromPNG($Grafikdatei);
                                
    $Thumbnailgrafik ImageCreateTrueColor($Neue_Breite$Neue_Hoehe);
                                
    imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$Neue_Breite$Neue_Hoehe$OriginalBreite$OriginalHoehe);
                                
    ImagePNG($Thumbnailgrafik$Grafikdatei100);
                            }
                            echo 
    "<font color='#008000'>Bild erfolgreich hinzugef&uuml;gt</font>";
                            echo 
    "<meta http-equiv='refresh' content='0;url=./bilder_galerie_ausgabe.php?id=".$galerie_titel."' />";
                        }else{
                            echo 
    "<font color='#ff0000'>Die erlaubte gr&ouml;&szlig;e vom Bild betr&auml;gt maximal 1 MB.</font>";
                        }
                    }
                } 
    Bitte um Hilfe




    Gruß infeloba

  • #2
    Das erste was du falsch machst ist, dass du die Regeln nicht gelesen hast. Die stellen eine ganze Reihe Möglichkeiten vor, wie man dem Problem auf die Schliche kommen kann, wenn es den Anschein macht, dass es "einfach nicht geht". Konkret: Error Reporting hoch- bzw. einschalten!
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Ich habe schon seit 2 Tagen versucht, das Problem zu beheben, jedoch liegt es eindeutig daran, dass wenn das Bild Originalbild auf der Festplatte zu hochpixelig ist, verarbeitet er das Bild nicht. Wenn es ca. 1600 x 1200 Pixel verkleinert wurde, dann verabeitet er es...


      Ich habe "error_reporting(E_ALL)" nun eingeschaltet, bekomme jedoch keine Fehlermeldung....

      Ich bitte höflichst um eine kleine Hilfe.


      Danke!
      Zuletzt geändert von infeloba; 29.04.2010, 14:46.

      Kommentar


      • #4
        Hallo,

        wie sieht es mit display_errors aus?

        Jedenfalls wird vermutlich das Speicherkontingent überschritten. 4000px*3000px*24bit = 36000000Byte = 34MiB. Wenn dir nur 15 oder 20 zur Verfügung stehen, kann PHP das Bild nicht laden.

        Gruß,

        Amica
        Zuletzt geändert von AmicaNoctis; 29.04.2010, 14:49.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Zitat von AmicaNoctis Beitrag anzeigen
          Hallo,

          wie sieht es mit display_errors aus?

          Jedenfalls wird vermutlich das Speicherkontingent überschritten. 4000px*3000px*24bit = 36000000Byte = 34MiB. Wenn dir nur 15 oder 20 zur Verfügung stehen, kann PHP das Bild nicht laden.

          Gruß,

          Amica

          Hallo, danke für den entscheidenen Hinweis!! Man lernt ja nie aus

          Du hattest absolut recht !!!

          Folgende Fehlermeldung:

          Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16128 bytes) in /var/www/vhosts/meine_domain/httpdocs/admin/bildergalerie/bilder_hochladen.php on line 113

          Wie kann ich das so ändern, dass er dieses Bild auch bearbeitet?
          Gruß

          Kommentar


          • #6
            Eigener Server mit Zugriff auf der php.ini oder Webspace-Paket?

            eigener Server: -> memory_limit in php.ini erhöhen

            Webspace-Paket: -> Beim Hoster betteln den entsprechenden Wert für dich hochzusetzen - erwarte aber nicht unbedingt eine positive Reaktion.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Danke für die schnelle Antwort, ich habe schon versucht manuell den Wert zu erhöhen... Leider ohne Erfolg.

              Jetzt muss ich EVANZO wohl anbetteln....



              Danke !

              Kommentar

              Lädt...
              X