|
|
|
| Здравствуйте, нужна ваша помощь, на сервер загружаю видео, процесс происходит следующим образом, скачиваю себе на комп заливаю на сервер.
Собственно, что нужно, нужно на сервере сделать возможность закачивать сразу с донора, своеобразный хотлинк только больших файлов до 2гб.
Скрипту даёшь линк на файл, он его скачивает.
Как такое реализовать? Или может есть готовые решения? | |
|
|
|
|
|
|
|
для: Maloi_m3
(18.01.2011 в 06:45)
| | Если работать напрямую через ssh, то можно воспользоваться командой wget для прямого получения файла с другого сервера.
Из скрипта - скорее всего, через exec() - однако не пробовал, придется погуглить с вышеуказанными названиями.
Если же пользоваться только возможностями php - то, видимо, надо запрашивать определенное количество байт, которые записывать и заменять в памяти на следущую порцию, а потом дописывать это в файл. | |
|
|
|
|
|
|
|
для: neadekvat
(18.01.2011 в 07:36)
| | Ну если через exec, то все просто - exec('wget '.$url.' > /dev/null &'); - процесс будет выполняться фоново, не задержит php-скрипт. Конечно СРАЗУ использовать скачанный файл не получится - придется подождать, пока эти два гига сольются. | |
|
|
|
|
|
|
|
для: Shorr Kan
(18.01.2011 в 10:10)
| | Тема не моя, но все же...
А как можно определить что они слились? Можно ли по завершеию скачивания дернуть нужный скрипт? | |
|
|
|
|
|
|
|
для: Filsh
(05.09.2011 в 23:44)
| | Приблизительно можно узнать, запросив количество байт в файле (это правда не на всех системах будет означать, что процесс слияния завершен). | |
|
|
|
|
|
|
|
для: cheops
(06.09.2011 в 10:11)
| | Как вариант
<?
exec('(wget -q -O ./file.tmp '.$url.' && mv ./file.tmp ./file.iso) &');
|
И периодически проверять наличие file.iso. | |
|
|
|