Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiupload-Problem

Einklappen

Neue Werbung 2019

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

  • Dateiupload-Problem

    Hi,

    folgende Abfragen führen beim Versuch eine jpg-Datei hochzuladen immer zu "Unzulässiger Dateityp", aber warum (es ging vor x Tagen schon einmal)

    PHP-Code:
    <?php
    if (isset($_POST['send']) && $_POST['send'] == "send") {

        
    $fupload $_FILES['fupload'];

        
    $endung false;
        
    $funktionsname "imageCreateFrom";
        switch(
    $fupload['type']) {
            case 
    "image/jpeg":
                
    $endung ".jpg";
                
    $funktionsname .= "JPEG";
            break;
            case 
    "image/gif":
                
    $endung ".gif";
                
    $funktionsname .= "GIF";
            break;
            case 
    "image/png":
                
    $endung ".png";
                
    $funktionsname .= "PNG";
            break;
            default:
                echo 
    "<div align=center><h1 style=\"color: red;\">Unzulässiger Datentyp</h1></div>";
            break;
        }


        if (
    $endung) {
            ...
    ?>
    Das fupload array hat nur 'name' gefüllt, ansonsten (type, tmp_name,...) bleibt alles leer (Warum?)


  • #2
    PHP-Code:
    <?php
    echo '<pre>';
    print_r($_FILES);
    echo 
    '</pre>';
    ?>
    wasn alles drin?
    schlimmer gehts nimmer.... dümmer immer!

    Kommentar


    • #3
      Lass dir $_FILES mal per
      PHP-Code:
      <?php
      print_r
      ($_FILES);
      ?>
      ausgeben.

      Kommentar


      • #4
        Code:
        Array
        (
            [fupload] => Array
                (
                    [name] => AKI.jpg
                    [type] => 
                    [tmp_name] => 
                    [error] => 2
                    [size] => 0
                )
        
        )

        Kommentar


        • #5
          switch($fupload['type']) {
          ... mal $_FILES['type'] benutzen ...

          Kommentar


          • #6
            Zitat von CIX88
            switch($fupload['type']) {
            ... mal $_FILES['type'] benutzen ...
            Ok, ändert aber nichts am Fehler....

            Kommentar


            • #7
              Ok, ändert aber nichts am Fehler....
              Ne kann nicht sein.
              Frag mal beim Upload mit $_FILES ab, das mit $fupload... kannste dir sparen.

              Kommentar


              • #8
                Ja, hab jetzt
                Code:
                switch($_FILES['type']) {
                ...was aber nichts daran ändert, dass es in "Unzulässiger Dateityp" endet (mit gleicher Ausgabe von $_FILES wie oben geposted)

                Kommentar


                • #9
                  dass es in "Unzulässiger Dateityp" endet
                  Ja ich weis es leider auch nicht, was du dort zum Upload schickst.

                  Schieb mal dein Bild hier hoch:
                  http://www.cix88.de/cix_php/tonne/bi...ize_upload.php

                  ... und schreibe dann mal, ob die Meldung hier auch kommt.
                  Falls ja, wird es wohl am Bild liegen, aber da ich das Bild nicht kenne, kann ich dazu auch nichts sagen.

                  Hast du eigentlich auch mal ein anderes Bild benutzt ?
                  Sind die Bilder oder das Bild mit einer Software umgewandelt bzw. bearbeitet worden ?

                  »Unzulässiger Dateityp« ist meistens das Resultat, wenn die Dateiendung garnicht die ist, die sie scheint bzw. ganz andere Headerinformationen im Bild vorhanden sind.
                  Möglich, vieleicht war früher das Bild AKI.jpg eigentlich AKI.jepg und wurde nur umbenannt oder sonstwie bearbeitet.

                  Kommentar


                  • #10
                    Hmmm, bei Deiner Upload-URL klappt es mit dem Upload und dem gleichen Bild

                    Dort wird auch
                    Code:
                    Array
                    (
                        [datei] => Array
                            (
                                [name] => AKI.jpg
                                [type] => image/jpeg
                                [tmp_name] => /tmp/php5mOC55
                                [error] => 0
                                [size] => 61106
                            )
                    
                    )
                    ausgegeben

                    Kommentar


                    • #11
                      Oha, also ist es dein Script
                      Wie sieht jetzt dein Script überhaupt aus ?

                      Kommentar


                      • #12
                        Die form sieht ganz einfach so aus:

                        Code:
                        <form enctype="multipart/form-data" action="admin_spieler.php?saison=2005-2006" method="POST">
                        <input type="hidden" name="MAX_FILE_SIZE" value="151200">
                        
                        
                        [img]img/admin/camera.png[/img]
                        
                        <input type="file" name="fupload">
                        
                        
                        
                        
                        
                        
                        [img]img/admin/spieler-upload.png[/img]
                        
                        
                        
                        
                        Bild für welchen Spieler?
                        
                        
                        <select name='name_bild'><option value='0'>Spieler auswählen</option>
                        <option value="Spieler1">Name Spieler 1</option>
                        usw usw
                        </select>
                        
                        
                        <input type="hidden" name="send" value="send">
                        <input type="submit" value="Hochladen">
                        </form>
                        Und das Skript startet dann so:
                        PHP-Code:
                        <?php
                        if (isset($_POST['send']) && $_POST['send'] == "send") {

                            
                        $fupload $_FILES['fupload'];
                        //echo '<pre>';
                        //print_r($_FILES);
                        //echo '</pre>'; 
                            
                        $endung false;
                            
                        $funktionsname "imageCreateFrom";
                            switch(
                        $_FILES['type']) {
                                case 
                        "image/jpeg":
                                    
                        $endung ".jpg";
                                    
                        $funktionsname .= "JPEG";
                                break;
                                case 
                        "image/gif":
                                    
                        $endung ".gif";
                                    
                        $funktionsname .= "GIF";
                                break;
                                case 
                        "image/png":
                                    
                        $endung ".png";
                                    
                        $funktionsname .= "PNG";
                                break;
                                default:
                                    echo 
                        "<div align=center><h1><font color=\"red\">Unzulässiger Datentyp</font></h1></div>";
                                break;
                            }


                            if (
                        $endung) {
                        // jetzt kommt die Umbenennung und Thumbnail-generierung, 
                        //aber soweit komm ich ja schon gar nicht :(
                        ?>

                        Kommentar


                        • #13
                          Also ich kann nichts erkennen, bis auf image/jpeg wo es noch image/pjpeg gibt.
                          Vieleicht wird das deine Ursache sein.

                          Kommentar


                          • #14
                            Hab jetzt mal noch
                            Code:
                                  case "image/pjpeg":
                                     $endung = ".jpg";
                                     $funktionsname .= "JPEG";
                                  break;
                            mit in die switch mit aufgenommen und bei den ersten Tests hier in der Arbeit hat es funktioniert :wink:

                            (Werde das heute abend daheim nochmal mit der auch bei Dir hochgeladenen Grafik testen.... aber ich denke jetzt klappts, weil ich at home ja auch einige andere jpg-Grafiken versucht habe und es eben bei keiner ging!)

                            Danke

                            Kommentar


                            • #15
                              Naja image/pjpeg benutzt gerne der IE, und das wurde bei deinem bisherigen Script nicht abgefragt, somit kommt es zur Fehlermeldung.

                              Kommentar

                              Lädt...
                              X