Servus,
ich habe vor, meinen Usern zu ermöglichen Bilder als Avatar hochzuladen.
Vorher möchte ich allerdings festlegen, dass nur *.jpg und *.gif hochgeladen werden dürfen.
Die Typ-Unterscheidung funktioniert. Allerdings prüft er nicht die Größe der Datei.
Hier Auszüge aus dem Quellcode:
Wenn ich nun eine *.jpg mit 5MB auswähle, springt er nicht in die If-Bedingung mit "Datei ist zu groß!". Wenn ich eine *.exe hochladen möchte, gibt er allerdings "Falscher Typ!" aus.
ich habe vor, meinen Usern zu ermöglichen Bilder als Avatar hochzuladen.
Vorher möchte ich allerdings festlegen, dass nur *.jpg und *.gif hochgeladen werden dürfen.
Die Typ-Unterscheidung funktioniert. Allerdings prüft er nicht die Größe der Datei.
Hier Auszüge aus dem Quellcode:
Code:
$filename = $_FILES['file']['name'];
$filetype = $_FILES['file']['type'];
$filetmp = $_FILES['file']['tmp_name'];
$filesize = $_FILES['file']['size'];
$sizebytes = 1048576; // 1 Megabyte in Byte
$limitedext = array(".gif",".jpg",".jpeg",".JPG",".GIF",".JPEG"); // Erlaubte Endungen
$ext = strrchr($filename,'.');
if(!in_array($ext,$limitedext)){
echo 'Falscher Typ!';
}elseif($filesize > $sizebytes){
echo 'Datei zu groß!';
}
Wenn ich nun eine *.jpg mit 5MB auswähle, springt er nicht in die If-Bedingung mit "Datei ist zu groß!". Wenn ich eine *.exe hochladen möchte, gibt er allerdings "Falscher Typ!" aus.