image/jpeg

  • Hallo zusammen,

    hab ein kleines Problem in einem Upload Formular für Bilder.

    Und zwar soll mir das formular einen Fehler ausgeben wenn das Bild nicht den Dateitypen jpg oder gif hat.

    Dies hab ich im Formular so geregelt:
    if(!($_FILES['datei']['type'] == 'image/jpeg' OR $_FILES['datei']['type'] == 'image/gif'))

    soweit so gut. Bilder mit der Endung Gif kann ich auch hochladen, allerdings Bilder mit der Endung jpg nicht!?!

    andere auch nicht, was ja auch so sein soll!!

    hier mal der gesamt code! vielleicht hab ich auch einfach nur mal wieder eine kleinigkeit vergessen!!!

    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title>Bilder Upload</title>
    </head>
    <body>
    <?php
    if($_POST['sent'])
    {
    if(!is_uploaded_file($_FILES['datei']['tmp_name']))
    {$fehler="<br>Es wurde keine Datei hochgeladen";}
    else
    {
    if($_FILES['datei']['size']>1000000)
    {$fehler.="<br>Die Datei ist zu groß;";}
    if(!($_FILES['datei']['type'] == 'image/jpeg' OR $_FILES['datei']['type'] == 'image/gif'))
    {$fehler.="<br>Der Dateityp ist nicht zulässig<br>";}
    }//Ende ELSE keine Datei hochgeladen
    if(!$fehler)
    {
    include('connect.php');
    $datei=fopen($_FILES['datei']['tmp_name'],'rb');
    $data=addslashes(fread($datei, $_FILES['datei']['size']));
    $sql="INSERT INTO ".$tabellenname." (beschreibung, kategorie, dateityp, datei) values ('".$_POST['beschreibung']."', '".$_POST['kategorie']."', '".$_FILES['datei']['type']."', '".$data."')";
    if(!mysql_query($sql, $link))
    {$fehler.="<br>Der Upload ist aufgrund eines Datenbankfehlers gescheitert, bitte versuchen Sie es später noch einmal<br>";}
    }
    if($fehler) { echo "<h2><font color=\"red\">".$fehler."</font></h2>";}
    else
    {
    echo "<h2><font color=\"blue\">Der Upload war erfolgreich</font></h2>";
    unset($_POST['beschreibung']);
    unset($_POST['kategorie']);
    }
    }//Ende $_POST['sent']
    ?>
    <h2>Eine neue Datei hochladen</h2>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="sent" value="1">
    <p>Kurzbeschreibung</p>
    <input type="text" name="beschreibung" size="50" value="<? echo $_POST['beschreibung']; ?>">
    <p>Kategorie</p>
    <select name="kategorie" size="3">
    <option>Spanien
    <option>Logos
    <option>Comics
    <option>Urlaubsfotos
    </select>
    <p>Die Datei auswählen</p>
    <input name="datei" type="file" size="50"><br><br>
    <input type="submit"><input type="Reset" value="Zurücksetzen">
    </form>
    </body>
    </html>

    Hoffe Ihr könnt mir helfen!!

    Danke

    kenny

  • Ein print_r($_FILES); würde dir verraten, welchen Type du bei jpg bekommst.

  • Hallo,

    ein kleiner Tipp für das nächste mal. Es gibt sogenannte Code-Tags ([noparse]

    Code

    [/noparse]). Wenn du diese verwendest, wird dein Post wesentlich übersichtlicher und der Code lässt sich besser betrachten.


    Gruß

    Sascha