file_get_contents()
- проблема, потому что он собирается загрузить весь файл в память за один раз. Если у вас достаточно памяти для поддержки операции (принимая во внимание, что если это веб-сервер, у вас может быть несколько обращений, которые генерируют такое поведение одновременно, и, следовательно, каждому требуется столько памяти), то file_get_contents()
должно подойти. Однако это не правильный способ сделать это - вы должны использовать библиотеку, специально предназначенную для такого рода операций. Как уже упоминалось, cURL сделает свое дело, или wget. Вам также может повезти, если вы используете fopen('http://someurl', 'r')
и читаете блоки из файла, а затем выгружаете их прямо в локальный файл, открытый для привилегий записи.