kostenloser Webspace werbefrei: lima-city


Uploader bestimmte Dateien verbieten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    w****e

    ich will das man nur bilddateien hochladen kann (also .jpg / .gif / .png)

    das hier ist der Code
    $PicPathIn="./fotos/org/"; 
    $PicPathOut="./fotos/"; 
    $neueBreite=100; 
    $neueHoehe=100; 
    
    // das formular zum hochladen
    echo "
    <form action=\"".$PHP_SELF."\" method=\"post\" enctype=\"multipart/form-data\">
    Ein Bild hochladen :<br>
    <input type=\"file\" name=\"datei\" />
    <input type=\"submit\" value=\"Datei hochladen\" />
    </form>";
    
    if (isset($_FILES['datei']))
    {
    
    $bild = $_FILES['datei']['name'];
    move_uploaded_file($_FILES['datei']['tmp_name'], $PicPathIn."/".$bild);
    
    $size=getimagesize("$PicPathIn"."$bild");
    $breite=$size[0];
    $hoehe=$size[1];
    
    if($size[2]==1)
    {
    // GIF
    $altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe);
    imageGIF($neuesBild,"$PicPathOut"."$bild");
    }
    
    if($size[2]==2)
    {
    // JPG
    $altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe);
    ImageJPEG($neuesBild,"$PicPathOut"."$bild");
    }
    
    if($size[2]==3)
    {
    // PNG
    $altesBild=ImageCreateFromPNG("$PicPathIn"."$bild");
    $neuesBild=imageCreate($neueBreite,$neueHoehe);
    imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe);
    ImagePNG($neuesBild,"$PicPathOut"."$bild");
    }
    
    
    // kanne evtl. gel?scht weden, zeigt nur das hochgeladene bild an!
    echo "Altes Bild<BR>";
    echo "<IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\"><BR><BR>";
    echo "Neues Bild:<BR>";
    $Thumbnail=$PicPathOut.$bild;
    echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
    
    }


    ich bin f?r jeden brauchbaren vorschlag dankbar

    mfg
    web4me
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. b****y

    <form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="file" name="file"><br>
    <input type="submit" value="hochladen">
    </form>
    
    <?php
    $tempname = $_FILES['file']['tmp_name'];
    $name = $_FILES['file']['name'];
    
    
    $type = $_FILES['file']['type'];
    $size = $_FILES['file']['size'];
    
    
    if($type != "image/gif" && $type != "image/pjpeg") {
        $err[] = "nur gif und jpeg Dateien d?rfen hochgeladen werden.";
    }
    if($size > "15000") {
        $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse betr?gt 15 KB!";
    }
    
    if(empty($err)) {
        copy("$tempname", "$name");
        echo "Die Datei $name wurde erfolgreich hochgeladen!";
    }
    else {
        foreach($err as $error)
        echo "$error<br>";
    }
    ?>


    damit kannst du es einstellen ... hmm blo? dass ganz oben das <? zuviel ist und unten auch :D
  4. Auf SelfHTML-Aktuell gibt es einen Artikel, der beschreibt, wie man den Upload auf Bilder beschr?nken kann:

    http://aktuell.de.selfhtml.org/artikel/phpasp/php-uploadcheck/index.htm

    Leider sind die angegebenen superglobalen Variablen f?r den Fileupload nicht mehr aktuell, daher noch der Verweis auf die PHP-Online-Dokumentation:

    http://de.php.net/manual/de/features.file-upload.php

    Man kann aber auch, wenn man sich auf GIF, JFIF (JPEG) und PNG beschr?nken will, nach den typischen Datei-Typ-Markern suchen:

    In GIF-Files: "GIF87" oder "GIF89"
    In PNG: "&#8240;PNG"
    In JFIF: "????" und "JFIF"

    Das ist IMHO die einzige M?glichkeit, wenn die GD-Erweiterung nicht installiert ist.

    MfG
    alopex
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!