Fileupload -> MAX_FILE_SIZE

Rogerhuber
Huhu,


brauch zum ersten mal funktionen im zusammenhang zum Fileuploaden.

Klappt soweit alles, nur hab ich atm ein kleines Problem mit dem input (hidden) wert von MAX_FILE_SIZE.

Wenn die Datei diesen Wert überschreitet, ist bei mir $_FILES['avatar_file'][tmp_name'] nicht mehr vorhanden..

Nun bricht mein Script mit der Fehlermeldung "Beim upload ist ein Fehler aufgetreten" ab, anstelle später mit der meldung "Ihr Avatar hat die erlaubte Dateigrösse überschritten."

Ich bin ziemlich sicher das der Verursaches MAX_FILE_SIZE ist, das den selben Wert hat, wie die maximale Dateigrösse die später gecheckt würde werden.

Tja, kurz, meine Frage ist, was sind die nachteile, wenn ich MAX_FILE_SIZE erhöhe?
(Ist es ratsam eine bestimmte Grenze zu setzen? Klaut mir da einer Space wenn er versucht eine 200MB Datei zu uploaden?)

MFG
Roger
xundy
wäre sinnvoller deinen Code zu posten, daß das Script abbricht liegt nur an einer fehlerhaften verarbeitung deinerseits(deines Scriptes)

mfg
Rogerhuber
Huhu,


also der punkt wo er mir abbricht ist folgende Zeile:
php:
1:
if(!$_FILES['avatar_file']['tmp_name'] || $_FILES['avatar_file']['tmp_name'] == "none"hp_error("Profil""Sie müssen eine Datei auswählen.");


zuvor hab ich nur einige file_exists();

(Jep, ist der richtige punkt, nur die Fehlermeldung hat sich verändert großes Grinsen )
xundy
na das nenne ich mal einen Aussagekräftigen Code verwirrt

max_file_size kann den Wert der in der php.ini eingestellt ist nicht überschreiten, dann gibt es einen Fehler, du solltest also vorher mit $_FILE['avatar_file']['error'] ob ein entsprechender Fehler aufgetreten ist.

Am besten wäre natürlich den eingestellten Wert für max_filesze zu ermitteln und dann den gesetzten Wert im Script nötigenfalls auf einen kleineren Wert anzupassen

mfg
ShadowByte
Zitat:
Original von Rogerhuber

Klappt soweit alles, nur hab ich atm ein kleines Problem mit dem input (hidden) wert von MAX_FILE_SIZE.

Wenn die Datei diesen Wert überschreitet, ist bei mir $_FILES['avatar_file'][tmp_name'] nicht mehr vorhanden..



Lies mal dazu :

http://www.php.net/manual/de/features.fi...oad.post-method
http://aktuell.de.selfhtml.org/artikel/p...check/index.htm

Gruß

ShadowByte
Rogerhuber
Danke euch beiden!!!
Seh ich das nun richtig, dass ich damit jeden Fehler abfangen kann und ob tmp_file ein Wert hat, egal ist?


Habs nu so gemacht:
php:
1:
2:
3:
4:
if($_FILES['avatar_file']['error'] == "1"hp_error("Profil""Ihr Avatar hat die erlaubte Dateigrösse überschritten.");
     if($_FILES['avatar_file']['error'] == "2"hp_error("Profil""Ihr Avatar hat die erlaubte Dateigrösse überschritten.");
     if($_FILES['avatar_file']['error'] == "3"hp_error("Profil""Die Datei wurde nicht komplett geuploadet.");
     if($_FILES['avatar_file']['error'] == "4"hp_error("Profil""Es wurde keine Datei ausgewählt.");


Irgendwie mag ich fileuploads jetzt schon ned mehr.. 30 Zeilen Code um ne File hochzuschieben...