Hi!
Wenn ich jetzt z.B. eine Datei mit 4 MB hochlade, zeigt er erwartungsgemäß, das die Datei zu groß ist. Versuche ich es jetzt jedoch mit einer 9 MB Datei zeigt er gar keine Fehlermeldung an.
Die Dateigröße kann PHP erst bestimmen, wenn die Datei hochgeladen wird bzw. wurde.
In $_FILES['File']['size'] ist die Größe also erst nach dem Upload enthalten.
Ich weiß nicht, welche maximale Größe für Uploads in der php.ini angegeben ist.
Eventuell ist deine Datei größer als dort vorgegeben.
Dann wird deine Datei bereits von PHP abgelehnt, wenn soviel Daten wie in der php.ini zugelassen sind, hochgeladen wurden.
Die Datei wird also abgelehnt, bevor deine Überprüfung greift und deswegen wird deine Fehlermeldung nicht gezeigt.
Das vermute ich in diesem Fall jedenfalls.
Du solltest deswegen prüfen, ob die Datei hochgeladen wurde, bevor du dann die Größe checkst.
Zusätzlich würde ich außerdem noch eine clientseitige Prüfung einbauen.
Du kannst die maximale Uploadgröße über ein Hidden-Formularfeld festlegen.
Das ist prinzipiell zwar leicht zu umgehen (wenn man denn will), aber trotzdem hättest du dadurch eine zusätzliche Prüfung, so daß zu große Dateien gar nicht erst hochgeladen werden.
Die serverseitge Prüfung ersetzt das in keinem Fall, da man die clientseitige Prüfung halt leicht faken könnte.
In vielen Fällen kannst du dir damit aber sicherlich unnötige Uploads ersparen.
Schöner Gruß,
rob