Ankündigung

Einklappen
Keine Ankündigung bisher.

formular uploader funzt net

Einklappen

Neue Werbung 2019

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

  • formular uploader funzt net

    hi@all
    hab ein formular indem ein input mit dem type file ist, welches pic heißt.
    nun habe ich eine if abfrage gemacht (if($submit)) also wenn submit gedrückt wurde führt es folgenden code aus:
    Code:
    $tempname = $_FILES['pic']['tmp_name'];
    $picname = $_FILES['pic']['name'];
    $pictype = $_FILES['pic']['type'];
    $picsize = $_FILES['pic']['size'];
    if($pictype != "image/gif" && $pictype != "image/jpeg" && $pictype != "image/jpg")
    {
      $err[] = "Es dürfen nur Bilder im Format *.jpg, *.jpeg und *.gif hochgeladen werden !!!";
    }
    if($picsize > "500000")
    {
      $err[] = "Die Bildgröße ist größer als 500 KB !!!";
    }
    if(empty($err))
    {
      if($_POST['section'] == "2D Gallerie")
      {
        copy($tempname, 'img/gallery/2D/'.$picname);
      }
      elseif($_POST['section'] == "3D Gallerie")
      {
        copy($tempname, 'img/gallery/3D/'.$picname);
      }
      elseif($_POST['section'] == "Wallpapers")
      {
        copy($tempname, 'img/gallery/Wallpapers/'.$picname);
      }
      elseif($_POST['section'] == "Fanarts")
      {
        copy($tempname, 'img/gallery/Fanarts/'.$picname);
      }
      elseif($_POST['section'] == "Fotografien")
      {
        copy($tempname, 'img/gallery/Fotografien/'.$picname);
      }
      mysql_query("INSERT INTO gfxwelt_gallery (id, name, section, description, autor, datum, zeit, pic, count, is_active) VALUES ('', '".htmlentities($_POST['name'])."', '".$_POST['section']."', '".htmlentities($_POST['description'])."', '".$_COOKIE['gfx_user']."', '".date("d.m.y")."', '".date("H:i:s")."', '".$picname."', '0', '0')") or die (mysql_error());
      ?>
    
      <SCRIPT LANGUAGE="JavaScript">
      <!--
        window.alert("Danke für Ihre Anteilnahme, <?php echo $_COOKIE['gfx_user']; ?> !!!")
      // -->
      </SCRIPT>
    
      <?php
    }
    ?>
    nun kommt aber wenn ich ein .jpg bild hochladen die Fehlermeldung, dass nur Bilder im Format *.jpeg usw. hochgeladen werden dürfen, obwohl die datei die endung .jpg hat.
    was ist daran falsch und wie kann ich es beheben?
    MfG,
    WasserDragoon.

  • #2
    dann gib mal $_FILES['pic']['error'] aus und guck nach, was der ausgegebene Wert bedeutet:

    http://de.php.net/manual/de/features...oad.errors.php

    Kommentar


    • #3
      Ich vermute mal, du erleidest noch die PC-Fernbedienung (Codename: »Internet Explorer«). Der Schickt JPGs mit dem Mimetypen »pjpeg« und PNGs mit »x-png«. Installiere dir mal das Tool ieHTTPHeaders und guck, was der versendet.

      Die Fehlermeldung, die du ausgibst, ist auch widersinnig: *.jpg usw. sind keine Formate, sondern einfach Dateiendungen. Und Alerts gibt man nur aus, wenn es gar nicht anders geht; sie blockieren nämlich den Arbeitsfluß erheblich. Gib da einfach eine normale Textmeldung aus.

      Außerdem versagt dein Fomular, wenn es mit der Entertaste abgeschickt wird: Dann kommt nämlich kein »Submit«. Prüfe besser, ob gilt:
      Code:
      $_SERVER['REQUEST_METHOD'] == "POST"
      …oder einfacher ob:
      Code:
      isset($_FILES)
      Gruß
      Thomas

      Kommentar


      • #4
        Die Enctype Deklaration im Form Tag ist auch ein heißer Tipp beim Uploaden!
        Wird oft übersehen und dann kommen auch solch Fehler!
        lg

        Kommentar


        • #5
          mach mal vor
          if($pictype != "image/gif" && $pictype != "image/jpeg" && $pictype != "image/jpg")
          nen
          PHP-Code:
          print_r$_FILES ); 
          und guck dir die mime geschichten der hochzuladenden datei an.
          vermutlich musste dann obige zeile nochmal anpassen.

          Kommentar

          Lädt...
          X