Ti suggerisco di iniziare leggendo il manuale ufficiale con particolare attenzione ai vari MAX_FILE_SIZE, post_max_size, max_input_time, upload_max_filesize, memory_limit, max_execution_time etc.

http://www.php.net/manual/en/features.file-upload.php