Was passiert denn, wenn du eine 20 Mb - Datei hochladen tun tust?
PHP ist bekannterweise serverseitig. Die Grösse der Datei wird also erst ermittelt, wenn sie vollständig auf dem Server angekommen ist (da es vorher für PHP gar nicht möglich ist).
Von daher schätze ich, dass du entweder zu ungeduldig bist und den Vorgang abbrichst BEVOR die 20 Mb im Uploadordner angekommen sind und die Fehlermeldung ausgegeben wird, oder dass das Ganze an der Einstellung von max_execution_time in deiner php.ini scheitert.
Du hast nebenbei noch die Möglichkeit in der php.ini die Einstellung für upload_max_filesize anzupassen.
Gruss
Igäl