Verzweifelung bei Bilder Upload

GottiRhg

Mitglied
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:

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.
 
jor das ergibt:

array(1) { ["file"]=> array(5) { ["name"]=> string(17) "2007_06290002.JPG" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) } }
 
upload_max_filesize 2M

ich glaube da lag das problem.
versuche ja gerade ständig 4mb hochzuladen.
wenn ich jetzt 1,35mb nehme sagt er mir auch, dass die datei zu groß ist.

glaube damit dürfte mir geholfen sein!
danke!
 
Aha, also sind nur Datein unter 2MB erlaubt ;)
So sollte das dann auch mit Dateien über 2 MB funktionieren:
PHP:
elseif($filesize < 1 && $filesize > $sizebytes){

(Ich weis grad nicht ob man das per ini_set() ändern kann... Versuch's mal)
 
Zurück