Fehler beim Bild upload automatisch verkleinern

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

  • Fehler beim Bild upload automatisch verkleinern

    Hallo Leute,
    ich habe ein Problem mit dem Bildupload und dem automatischen verkleinern des Fotos.

    Ich bin mir nicht sicher, ob der Fehler jetzt an meinem "Upload DIR" liegt, oder ob vorher schon ein Fehler auftritt!

    Vielleicht kann mal einer drüberschauen und Hilfestellung leisten.


    PHP-Code:
    $groesse=getimagesize($_FILES['foto']['tmp_name']);
    $breite=$groesse[0];
    $hoehe=$groesse[1];
    $neueBreite=200
    $neueHoehe=intval($hoehe*$neueBreite/$breite);
                    
    $altesBild=ImageCreateFromJPEG($_FILES['foto']['tmp_name']); 
    $neuesBild=ImageCreate($neueBreite,$neueHoehe); 
    ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); 
            
    $uploaddir 'D:\\xampp\\xampp\\htdocs\\site\\images\\';
     
    move_uploaded_file($neuesBild,$uploaddir"$new_name") or print_r($_FILES) AND die("upload fehlgeschlagen!");

    chmod ($uploaddir."/".$new_name0777);
    header("Location: verwaltung.php");
     exit; 
    als Fehlermeldung wirft er mir das aus...

    Array ( [foto] => Array ( [name] => Elpro-firmengruppe_FIN.jpg [type] => image/jpeg [tmp_name] => D:\xampp\xampp\tmp\php2A.tmp [error] => 0 [size] => 33703 ) ) upload fehlgeschlagen!

    Danke fürs schauen!!!
    lieben Gruß

  • #2
    die werte sind einwandfrei und der upload war erfolgreich. das problem ist deine programmierung:
    PHP-Code:
    move_uploaded_file($neuesBild,$uploaddir"$new_name") or print_r($_FILES) AND die("upload fehlgeschlagen!"); 
    AND wird auf jeden fall ausgeführt! mach es doch so
    PHP-Code:
    if (move_uploaded_file($neuesBild,$uploaddir"$new_name"))
    {
      ...
    }
    else
    {
     ...

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      AND die ist natürlich totaler blödsinn! Kann ja nicht funktionieren!!

      Original geschrieben von Kropff

      PHP-Code:
      if (move_uploaded_file($neuesBild,$uploaddir"$new_name"))
      {
        
      }
      else
      {
       ...

      peter [/B]
      Du meist es so?

      PHP-Code:
      if (move_uploaded_file($neuesBild,$uploaddir"$new_name"))
      {
      chmod ($uploaddir."/".$new_name0777);
      header("Location: verwaltung.php");
      exit; 
      }
      else
      {
      print_r($_FILES);
      echo 
      "Upload Fehlgeschlagen";

      Funktioniert aber trotzdem nicht

      Kommentar


      • #4
        was ergibt ein
        PHP-Code:
        error_reporting(E_ALL); 
        am beginn deines scriptes?

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Funktioniert aber trotzdem nicht
          dass es hier niemand schafft eine fehlermeldung oder problembeschreibung zu formulieren... muss man immer erst nachfragen?

          Kommentar


          • #6
            Original geschrieben von TobiaZ
            dass es hier niemand schafft eine fehlermeldung oder problembeschreibung zu formulieren... muss man immer erst nachfragen?
            SORRY!!!
            Ich werde mich jetzt bessern!
            Also wenn ich an den Anfang meines Scriptes schreibe:
            ini_set ('error_reporting', E_ALL);
            dann wird mir folgende Fehlermeldung ausgegeben.

            Array ( [foto] => Array ( [name] => start.jpg [type] => image/jpeg [tmp_name] => D:\xampp\xampp\tmp\php3E.tmp [error] => 0 [size] => 34194 ) )
            und
            Warning: chmod() [function.chmod]: No such file or directory in D:\xampp\xampp\htdocs\site\userpanel\bild_upload.php on line 71

            Ich habe dass Script noch einmal auf einen anderen Server getestet! Da wird mir folgende Fehlermeldung noch ausgegeben.

            Array ( [foto] => Array ( [name] => maerkte.jpg [type] => image/jpeg [tmp_name] => /var/www/web8/phptmp/phppywYpl [error] => 0 [size] => 70440 ) )
            und
            Warning: chmod(): Unable to access /var/www/web8/html/elpro/userpanel/img/1168011120.jpg in /var/www/web8/html/elpro/userpanel/bild_upload.php on line 71

            die einzige Veränderung ist die, dass beim zweiten schon mal der neue Name auftaucht. Leider aber nicht das Bild im angegebenen Ordner!

            Kann ich irgendwie überprüfen, was mit dem File passiert oder z.b. das neue verkleinerte Bild ausgeben?
            Ich hoffe, das war etwas mehr verständlich.

            Kommentar


            • #7
              poste mal bitte zeile 71 inklusive der Werte (Testausgaben) aller verwendeter Variablen?

              No file/dir sollte ja eigentlich klar sein, was das Problem ist...

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                poste mal bitte zeile 71 inklusive der Werte (Testausgaben) aller verwendeter Variablen?

                No file/dir sollte ja eigentlich klar sein, was das Problem ist...
                Zeile 71:
                chmod ($uploaddir.$new_name, 0777);

                Kommentar


                • #9
                  HUHU???

                  inklusive der Werte (Testausgaben) aller verwendeter Variablen?
                  Das sind in deinem Falle wohl
                  $uploaddir und $new_name

                  Und ja, Testausgaben macht man mit echo

                  Danke

                  Kommentar


                  • #10
                    Original geschrieben von TobiaZ
                    poste mal bitte zeile 71 inklusive der Werte (Testausgaben) aller verwendeter Variablen?
                    Ich poste noch mal das kanze kleine Script:
                    EDIT:
                    Nee, kannste steckenlassen.
                    wahsaga

                    Zuletzt geändert von wahsaga; 05.01.2007, 16:55.

                    Kommentar


                    • #11
                      und das interessiert mich einen feuchten ...

                      Wenn ihr nicht wisst, was testausgaben sind, dann fragt danach. aber ignoriert bitte nicht meine gezielten fragen, die euch auf das problem bringen sollen.

                      irgendwann müsst ihr doch auch mal lernen selbsständig zu debuggen? So ist Programmieren nunmal. Wer alles vorgekaut braucht, sollte es sein lassen.

                      Danke!

                      so, offensichtlich schlägt der befehl hier schon fehl.
                      PHP-Code:
                      move_uploaded_file($neuesBild,$uploaddir"$new_name") or print_r($_FILES); 
                      EDIT:
                      Autsch, das ist ja total die falsche Funktion. lies bitte mal im Manual nach, wofür move_uploaded_file da ist. danach darfst du dann image_jpg() nachlesen.
                      Zuletzt geändert von TobiaZ; 05.01.2007, 16:56.

                      Kommentar


                      • #12
                        Sorry für diesen ganzen HickHack.
                        Es ist jetzt schon etwas länger her, aber nach all diesen Qualen die ich euch bereitet habe, möchte ich zumindest mein Ergebnis posten. ZU erst will ich mal sagen das der Code funktionier. So wie ich es mir vorstelle.

                        Ich habe mir noch einmal die Referenz zu move_uploaded_file durchgelesen.
                        move_uploaded_file -- Verschiebt eine upgeloadete Datei an einen neuen Ort. Das muss ich als erstes machen, damit mein Temp File abgespeicher wird.

                        Imagejpeg()
                        Erzeugt eine neue Datei aus einem Bild. Ich hatte wohl falsche Parameter übergeben.

                        Hier mein Code – Ihr könnt Euch ja gerne darüber lustig machen ode rmir auch noch ein paar Tips zur Verbesserung geben.
                        Wie gesagt, Sorry für die Aufregung hier. Das nächste mal werde ich mehr denken und dann posten! SORRY
                        gruß


                        PHP-Code:
                              $neuesBild $_FILES['foto']['tmp_name'];
                              
                        $wann date("U");
                              
                        $new_name $press_name."_".$wann.".jpg";
                              
                        $uploaddir '/var/www/web8/html/elpro/userpanel/img/';

                               
                        move_uploaded_file($neuesBild,$uploaddir."$new_name") or print_r($_FILES);
                               
                        chmod ($uploaddir.$new_name0777);
                                
                        $groesse=getimagesize($uploaddir.$new_name);
                        $breite=$groesse[0];

                        $hoehe=$groesse[1];
                        $neueBreite=200;
                        $neueHoehe=intval($hoehe*$neueBreite/$breite);
                                        
                        $altesBild=ImageCreateFromJPEG($uploaddir.$new_name);
                        $neuesBild=ImageCreate($neueBreite,$neueHoehe); ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
                        ImageJPEG($neuesBild,$uploaddir.$new_name);
                        header("Location: verwaltung.php");
                        exit; 

                        Kommentar

                        Lädt...
                        X