Además de las limitaciones impuestas por PHP (php.ini directivas upload_max_filesize y post_max_size) .. El servidor HTTP puede también limitar el tamaño, Por ejemplo Apache lo hace en la directiva: LimitRequestBody
más información y detalles en:
http://www.php.net/manual/en/features.file-upload.php
Un saludo,