Meine Bilder aus einem Formular werden nicht mehr erkannt

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

  • Meine Bilder aus einem Formular werden nicht mehr erkannt

    Hallo zusammen,
    ich habe ein Script geschrieben, womit ich Bilddateien die mir per "POST" aus einem Formular übergeben werden, verkleinere und anschließend auf meinem Server speicher. Nun wurde bei meinem Provider eine neue PHP Version installiert bei der jetzt mit register_globals gearbeitet wird. Meine normalen Variablen waren kein Problem sie umszustricken mit $_POST oder $_GET. Aber mit den Bildern verzweifel ich. Mit $_FILES hab ich auch schon versucht. Leider Erfolglos. Wer kann mir helfen?

    Gruß Sven

    Hier mein Script:

    PHP-Code:
    <?

    $id = $_POST['id'];
    $img1 = $_FILES['img1'];
    $img2 = $_FILES['img2'];
    $img3 = $_FILES['img3'];
    $img4 = $_FILES['img4'];


    $thumbnail = $id."-tn.jpg";
    $bild1 = $id."-1.jpg";
    $bild2 = $id."-2.jpg";
    $bild3 = $id."-3.jpg";
    $bild4 = $id."-4.jpg";

    $picture_locationtn="$img1";
    $picture_location1="$img1";
    $picture_location2="$img2";
    $picture_location3="$img3";
    $picture_location4="$img4";

    $picture_savetn="../thumbnails/$thumbnail";
    $picture_save1="../bilder/$bild1";
    $picture_save2="../bilder/$bild2";
    $picture_save3="../bilder/$bild3";
    $picture_save4="../bilder/$bild4";

    $size=200;   // BILDGRÖßE
    $sizetn=70; // THUMBNAILGRÖßE

    //Funktion
    function scaleimage($imgname,$size)
    {
    Header("Content-Type: image/jpeg");
    $img_src = ImageCreateFromjpeg ($imgname);

    $true_width = imagesx($img_src);
    $true_height = imagesy($img_src);

    if ($true_width>=$true_height)
    {
        $width=$size;
        $height = ceil($width/$true_width*$true_height);
    }
      else
    {
        $height=$size;
        $width = ceil($height/$true_height*$true_width);
    }
    $img_des = imagecreatetruecolor($width,$height);
         imagecopyresized ($img_des, $img_src, 0, 0, 0, 0, $width, $height, $true_width, $true_height);
          return $img_des;
    }




    //UPLOAD BILD 1

    if ($img1_name == "")
        {
        $log1 .= "Keine Datei ausgewählt für Bild 1<br>";
        }

    else {

    $img_des=scaleimage($picture_location1,$size);
    imagejpeg($img_des,$picture_save1,100);

    }


    //UPLOAD BILD 2

    if ($img2_name == "")
        {
        $log2 .= "Keine Datei ausgewählt für Bild 2<br>";
        }

    else {

    $img_des=scaleimage($picture_location2,$size);
    imagejpeg($img_des,$picture_save2,100);

    }


    //UPLOAD BILD 3

    if ($img3_name == "")
        {
        $log3 .= "Keine Datei ausgewählt für Bild 3<br>";
        }

    else {

    $img_des=scaleimage($picture_location3,$size);
    imagejpeg($img_des,$picture_save3,100);

    }


    //UPLOAD BILD 4

    if ($img4_name == "")
        {
        $log4 .= "Keine Datei ausgewählt für Bild 4<br>";
        }

    else {

    $img_des=scaleimage($picture_location4,$size);
    imagejpeg($img_des,$picture_save4,100);

    }


    //UPLOAD THUMBNAIL

    if ($img1_name == "") 
        {
        $logtn .= "Thumbnail konnte nicht erstellt werden, da Bild 1 nicht gewählt wurde!<br>";
        }

    else {

    $img_des=scaleimage($picture_locationtn,$sizetn);
    imagejpeg($img_des,$picture_savetn,100);

    }


    if(file_exists("$picture_save1")) {
    $log1 .= "Bild 1 zum Server übertragen<br>";
    }
    if(file_exists("$picture_save2")) {
    $log2 .= "Bild 2 zum Server übertragen<br>";
    }
    if(file_exists("$picture_save3")) {
    $log3 .= "Bild 3 zum Server übertragen<br>";
    }
    if(file_exists("$picture_save4")) {
    $log4 .= "Bild 4 zum Server übertragen<br>";
    }
    if(file_exists("$picture_savetn")) {
    $logtn .= "Voransicht erfolgreich generiert<br>";
    }
    ?>

  • #2
    schalte bitte error_reporting(E_ALL), dann wird sich das ergeben, denke ich. Da du das mit $_POST schon hinbekommen hast, traue ich dir das auch zu.

    Kommentar


    • #3
      Bau mal ganz zu Beginn var_dump($_FILES) ein, schau dir die Struktur dieses Arrays(!) an und dann sollte dir klar sein, dass du nach $img1 = $_FILES['img1'] nicht per $img1_name an den Namen kommen kannst.

      Kommentar


      • #4
        Hallo TobiaZ,
        erstmal vielen Dank für deine schnelle Antwort. Das mit dem Error Reporting hab ich schon gemacht. Ich bekomme dann immer die
        folgenden Fehlermeldungen:

        Notice: Undefined variable: img1_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 65

        Notice: Undefined variable: log1 in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 67

        Notice: Undefined variable: img2_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 80

        Notice: Undefined variable: log2 in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 82

        Notice: Undefined variable: img3_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 95

        Notice: Undefined variable: log3 in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 97

        Notice: Undefined variable: img4_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 110

        Notice: Undefined variable: log4 in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 112

        Notice: Undefined variable: img1_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 125

        Notice: Undefined variable: logtn in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 127
        Notice: Undefined variable: img1_name in \\fe-dm01a-91.wdhs.local\WS001_000\pool66\6WS65H61KS5Y\WEB\content\admin\resize.php on line 65
        Und daraus werde ich einfach nicht schlau.

        Kommentar


        • #5
          @onemorenerd - Guter Tipp. Ich glaub ich weiss jetzt wo mein Fehler liegt

          Kommentar


          • #6
            Brauche doch noch mal hilfe. Ich weiss jetzt dass ich an den Dateinamen mit
            PHP-Code:
            $_FILES ['img1'] ['name'
            drankomme. Und wenn ich ich das dann an der entsprechenden Stelle einfüge, funzt garnichts mehr.

            Kommentar


            • #7
              ...und jetzt deine _konkrete_ frage?

              Kommentar


              • #8
                Meine konkrete Frage ist was ich jetzt schon wieder falsch mache.
                Hier nochmal mein umgeändertes Script. Vielleicht wisst ihr ja dann bescheid.

                PHP-Code:
                <?

                $img1 = $_FILES['img1'];

                $bild1 = $id."-1.jpg";

                $picture_location1="$img1";

                $picture_save1="../bilder/$bild1";

                $size=200;   // BILDGRÖßE
                $sizetn=70; // THUMBNAILGRÖßE

                //Funktion
                function scaleimage($imgname,$size)
                {
                Header("Content-Type: image/jpeg");
                 $img_src = ImageCreateFromjpeg ($imgname);

                 $true_width = imagesx($img_src);
                 $true_height = imagesy($img_src);

                 if ($true_width>=$true_height)
                 {
                    $width=$size;
                    $height = ceil($width/$true_width*$true_height);
                 }
                  else
                 {
                    $height=$size;
                    $width = ceil($height/$true_height*$true_width);
                 }
                 $img_des = imagecreatetruecolor($width,$height);
                     imagecopyresized ($img_des, $img_src, 0, 0, 0, 0, $width, $height, $true_width, $true_height);
                      return $img_des;
                }

                //UPLOAD BILD 1

                if ($_FILES ['img1'] ['name'] == "")
                    {
                    $log1 .= "Keine Datei ausgewählt für Bild 1<br>";
                    }

                else {

                $img_des=scaleimage($picture_location1,$size);
                imagejpeg($img_des,$picture_save1,100);

                }

                ?>
                Zuletzt geändert von nick_beat20; 03.12.2006, 19:20.

                Kommentar


                • #9
                  Kürz doch bitte auf die relevante stelle. Kein Mensch hat lust immer den kompletten code zu verstehen und nach änderungen zu durchsuchen.

                  und error_reporting() fehlt schon wieder...

                  Kommentar


                  • #10
                    ich habe mal ein klitzekleines tutorial zum thema dateiupload und bearbeitung mit php geschrieben. schau es dir mal an.

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

                    Kommentar


                    • #11
                      Trotz des Tutorials finde ich den Fehler nicht. Wer hat noch ne idee?

                      Kommentar


                      • #12
                        mach n error_reporting()!

                        Kommentar


                        • #13
                          $img1 = $_FILES['img1'];
                          $bild1 = $id."-1.jpg";
                          $picture_location1="$img1";

                          Liest du dir den Bockmist eigentlich selbst auch mal durch bevor du hier rumningelst?!

                          Kommentar

                          Lädt...
                          X