Здравствуйте! Помогите пожалуйста хорошим советом! Я совсем недавно начал осваивать PHP. Хочу научиться использовать PHP для организации загрузки файлов на http-сервер. Если кратко, то у меня возникла такая проблема: Я не могу загрузить на сервер файл размером больше 800МБайт. Если подробно, то проблему можно изложить так: Файл размером меньше 800МБайт (приблизительно) загружается нормально, то есть сначала копируется по сети во временную папку (upload_tmp_dir) (можно наблюдать как во временной папке размер файла постепенно растёт), а потом перемещается (move_uploaded_file) в конечную папку, которую я указываю в php-скрипте. А вот файл размером больше 800МБайт не копируется во временную папку (upload_tmp_dir), а целиком копируется в оперативную память сервера (как я понял из наблюдений), и через некоторое время функция "move_uploaded_file" возвращает не "true". То есть такой файл почему-то не попадает на жёсткий диск вообще, не во временную папку, не в конечную папку. Причём одновременно загружать на сервер два файла размером 700МБайт можно без проблем, оба файла нормально загрузятся: сначала во временную папку, потом в конечную папку. Примечание. Использую "IIS6.0" и файл "php5isapi.dll" (из "PHP 5.2.3 zip package"). Операционная система "Windows 2003 Server SP1 Rus", файловая система "NTFS". Для загрузки файлов использую метод "POST". Значения некоторых директив в файле "php.ini" я указал такие: max_execution_time = 3600 max_input_time = 3600 memory_limit = 5M file_uploads = On upload_tmp_dir = "c:/php-folder-time" session.save_path="c:/php-folder-time" upload_max_filesize = 80000M post_max_size = 80000M default_socket_timeout = 15
memory_limit можешь поставить побольше, и не забудь ПЕРЕЗАПУСТИТЬ АПАЧ, из-за этого иногда куча проблем + в помощь поиск, т.к. насколько я помню эта тема уже обсуждалась не однажды..
Пробовал загружать файлы на http-сервер Apache2.2.4 (плюс модуль php5apache2_2.dll). Тот же результат! Файлы размером более 800МБайт отправляются с клиента нормально, сервер их принимает нормально (сетевой адаптер загружен), а папка (upload_tmp_dir) для временных файлов пустая почему-то. Куда деваются файлы? Испаряются? Совершенно не понимаю ситуацию. Получается, что это именно PHP неправильно что-то выполняет? Искал в интернете предел для объёма данных, переправляемых методом POST. Везде пишут, что неограничен объём. Файловая система сервера позволяет большие файлы записывать. В чём же дело? Люди, неужели никто не пробовал большие файлы на http-сервер загружать!? У вас всё нормально работает?