Uploader bestimmte Dateien verbieten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
altes bild
artikel
bild
brauchbaren vorschlag
breite hhe
datei
dokumentation
error
erweiterung
formular
gel
hochgeladene bild
hochladen
hhen
image
kanne
manual
marker
verweisen
zuviel
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<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 -
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: "‰PNG"
In JFIF: "????" und "JFIF"
Das ist IMHO die einzige M?glichkeit, wenn die GD-Erweiterung nicht installiert ist.
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage