title
Description
Body
вообщем эти файлы через сокеты и функции copy не закачиваеться.только через curl.закачка видео в формате 3gp из ютуба
|
|
этим способом некачает в фоновом режиме
Отредактировано alibek_kz (2013.07.10 08:16)
Неактивен
например пользаватель найдет себе видео и нажмет на кнопку создать 3gp и должен файл 3gp скачаться на сервер в фоновом режиме.и пользаватель когда обновляет страницы ему скрипт должна выводить процент загрузки файла на сервер.ну понял?
Неактивен
alibek_kz, это не фоновая загрузка. Ты скачиваешь файл в 1 потоке. Если пользователь перезагрузит страницу, то закачка оборвется (если не стоит ignore_user_abort). Это просто прогресс загрузки файла. Никакого отношения к "фоновости" это не имеет.
Неактивен
крон запускай каждую минуту, например.
сгребай в массив ссылки из базы. ставь в бд отметку что файлы в процессе скачивания (чтобы новый крон процесс не взял эти ссылки).
скачивай.
а пользователю выдаешь инфу из бд о состоянии его ссылки.
Неактивен
Неактивен
Я еще делал так:
запускал файл через system(), и запускал wget в фоновом процессе (команда типа wget http://example.com/test.jpg &). Решение хорошее тем, что мы делаем задачу загрузки на плечи более предназначенной для этого программе, а не средствами php.
Правда, я не нашел лучшего решения узнать, загружен ли файл, чем средством файла-флага, то есть, я создаю файл с тем же именем и окончанием .finished, и затем проверяю с помощью php - если файл с данным окончанием существует, значит файл закачан.
Если интересует, могу скинуть части кода с моим решением.
У меня еще, правда, стояла задача по конвертации файла, но это уже мелочи.
Неактивен
Можно как вариант создать script_loader.php?url=url&path=Куда качать
и с другого script_process.php делать команду например через курл с минимальным таймаутом ожидания ответа. Скрипт послал http запрос на script_loader.php и при получении ошибки об таймауте продолжает выполнение генерации страницы. А вот процент можно определить filesize($path) * 100 / данные полученые из заголовков get_headers($url, true);
Неактивен
Akdmeh написал:
Я еще делал так:
запускал файл через system(), и запускал wget в фоновом процессе (команда типа wget http://example.com/test.jpg &). Решение хорошее тем, что мы делаем задачу загрузки на плечи более предназначенной для этого программе, а не средствами php.
Правда, я не нашел лучшего решения узнать, загружен ли файл, чем средством файла-флага, то есть, я создаю файл с тем же именем и окончанием .finished, и затем проверяю с помощью php - если файл с данным окончанием существует, значит файл закачан.
Если интересует, могу скинуть части кода с моим решением.
У меня еще, правда, стояла задача по конвертации файла, но это уже мелочи.
я знаю этот вариант и этот доступен только в вдс или дедике.а я на шаред хостинге
Неактивен
TLENS написал:
Как вариант выполнить системную команду wget http://... &
Правда сам не пробовал из php но думаю норм вариант
Да на этом и остался.
Но оно в шаред хостах не будет работать.
Неактивен