Pics mit PHP checken!?

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

  • Pics mit PHP checken!?

    Hi!

    Ich möchte auf meiner Page eine Upload von Pics ermöglichen (für Profil im Member-Bereich). Wie ich die Dateigröße kontrollieren kann weiß ich. Aber wie kann ich checken, ob wirklich nur ein Pic (jpeg oder gif) hochgeladen wird und nicht irgendwas anderes? Sonst könnte man ja irgend einen Mist auf meinen Webspace laden!

    Grüße Tim

  • #2
    .....
    ahchja, ich vergaß...GD ist bei mir installiert (falls man das braucht)!

    Tim

    Kommentar


    • #3
      du läßt das doch sicher mit einem Formular uploaden, da kannst du erstmal eine JavaScript-Abfrage einbauen, die andere Endungen schon blockiert:

      if (document.forms[0].foto.value!="") {
      string_length = (document.forms[0].foto.value.length-3);
      string_ende = document.forms[0].foto.value.substr(string_length,3)
      if (string_ende!="jpg" || string_ende!="gif") {
      alert ("Kein gewünschtes Format!");
      }
      }

      das in einer Function beim submit checken lassen.
      Falls jemande JavaScript deaktiviert hat, kannst du im folgenden Skript mit PHP so kontrollieren:

      $endung='';
      $ende=explode('.', $file_name);
      $endung=$ende[count($ende)-1];
      if ($endung=="gif" || $endung=="jpg") echo "weiter geht's mit dem Upload";
      else echo "Andere Dateien werden hier nicht hochgeladen!";

      $file_name mußt du als Variable das Input-Feld für den Fileupload benutzen, also wenn wie oben beim Javascript -> dann müßte hier $foto benutzt werden -> bei HTML: <input type="file" name="foto">

      du kannst auch schon per HTML die Auswahl der Files einschränken, aber das funktioniert anscheinend auch sehr eingeschränkt
      habe ich auch deshalb noch nie benutzt



      [Editiert von BrainBug am 19-04-2001 um 09:33]

      Kommentar


      • #4
        Ohne GD kannst du nur die Dateierweiterung checken. Aber da man die aber beliebig ändern kann und sich der Browser trotzdem am Header der Datei orientiert, braucht man die GD um 100%ig sicher zu gehen, daß da kein Schmu gemacht wird.
        (z.B. animierte JPGs )

        Den tatsächlichen Typ überprüft man am sinnigsten mit GetImageSize:
        Code:
        echo $filename.': ';
        $array = GetImageSize ($filename);
        switch ($array[2]) {
          case 1: echo 'GIF'; break;
          case 2: echo 'JPG'; break;
          case 3: echo 'PNG'; break;
          case 4: echo 'SWF'; break;
          default: echo 'unknown type';
        }
        echo "<br>\n";
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Moin Titus,

          ätsch, ich war schneller.
          Okay, HMOCDarkLord schreibt, er hat GD, meins geht eben ohne.

          Kommentar

          Lädt...
          X