Да, можно загрузить файл с помощью 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 &');