Vinzenz Mai: Alle Dateitypen werden geladen, trotz ' if ' ?

Beitrag lesen

Hallo,

erstens hast Du Deine Klammern falsch gesetzt.

  
  // Es ist eine gute Idee, genau einen Stil der Klammersetzung zu verwenden.  
  // Hier ist die öffnende Klammer Deiner if-Anweisung am Ende der Zeile  

> if($_FILES['upfile']['size']>500000)         /*Größe anpassen*/ {  
>     {$fehler.="<center><br>Die Datei ist leider zu groß!;";}  

      // zweitens:  
      // Eine Datei hat niemals alle drei von Dir angegebenen Mimetypen  
      // Somit ist der Ausdruck in den inneren runden Klammern (die dreifache  
      // AND-Verknüpfung immer falsch, somit sollte Deine Fehlermeldung immer  
      // gesetzt werden.  

>     if( !( $_FILES['upfile']['type']== 'image/jpeg' &&  
>            $_FILES['upfile']['type']== 'image/gif'  &&  
>            $_FILES['upfile']['type']== 'image/png' ) ) {  
>         $fehler.="Der Dateityp ist leider nicht erlaubt";  
>     }  
> }  
> else  

      // Wenn sie also nicht zu groß ist, dann kopierst Du um :-)  

>     if (move_uploaded_file($_FILES['upfile']['tmp_name'], $filepath.$_FILES['upfile']['name'])) {  
>         echo "Ihre Bilder wurden gespeichert";  

Du solltest Dir einen besseren Stil angewöhnen, dann passieren Dir diese Fehler nicht mehr. Saubere Einrückung gehört auch dazu.

Freundliche Grüße

Vinzenz