Существует 3 параметра конфигурации, которые влияют на загрузку файлов в php, все они в php.ini, и некоторые из них настраиваются во время выполнения.
Вы должны позаботиться о:
**max_input_time** its the time a script could invest in parsing the input
**file_uploads should** be set to on, it determines if uploads are allowed at all or not
**upload_max_filesize** is the maximum size for the uploaded files
**post_max_size** since uploads are inside POST requests, you should raise this value at least to the value you specified in upload_max_filesize
После изменения этих настроек в php.ini не забудьте перезапустить apache.
Также рекомендуется снять ограничение максимального времени выполнения с помощью:
set_time_limit (0); на уровне кода.
Кроме того, помните, что если вы загружаете большие файлы, вам никогда не следует помещать содержимое файлов непосредственно в переменную, вам не хватит памяти, если вы сделаете это.