Загрузить файл с помощью метода SOCKET в PHP? - PullRequest
0 голосов
/ 13 июня 2011

Я хочу загрузить файл размером почти 1 ГБ. SO вместо HTTP, я считаю методологии FTP и Socket в PHP?

Возможно ли это? Если возможно

Как я могу загрузить файл, используя сокет PHP?

Каковы преимущества и недостатки этого метода по сравнению с http и ftp?

1 Ответ

0 голосов
/ 05 июля 2011

Да, можно загрузить файл с помощью PHP.

Необходимо открыть сокет для удаленного сервера и записать данные в этот сокет в правильном формате (протокол HTTP или FTP).К счастью, CURL Lib делает все за вас (см. Php curl для получения дополнительной информации).

Настоящая проблема - ограничение времени выполнения программы, PHP не может работать более 5 минут (согласно настройкам сервера), поэтому PHPне удалось завершить передачу данных 1 ГБ на сервер.

Возможное решение - использовать CLI PHP.Вы можете использовать PHP-файл CGI (запускается через браузер) для запуска PHP-файла CLI (который выполняет загрузку)

Чтобы запустить CLI из CGI, используйте эту команду

exec('/usr/bin/php -f /absolute_path/to/cli_script.php > /absolute_path/to/log_file.txt &');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...