#1 2010.11.16 18:30

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

EXEC(); and WGET

Блин тема вот такая:

Код:

1
exec('wget http://domen.ru/file.zip');

Теперь вопрос: Как выводить на страничку процент закачивания файла?

Нвпример: "Файл скачан на 20%" обновляем страничку "Файл скачан на 50%" и т.д.

В гугле пусто или хлам.

Неактивен

#2 2010.11.16 18:49

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: EXEC(); and WGET

нужен js. у курла есть вроде встроенные плюшки по этому поводу

Неактивен

#3 2010.11.16 18:50

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: EXEC(); and WGET

На счёт курла можно поподробнее

Неактивен

#4 2010.11.16 19:18

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: EXEC(); and WGET

http://php.net/curl_setopt CURLOPT_PROGRESSFUNCTION

Неактивен

#5 2010.12.21 20:37

2010
Участник
Откуда: localhost
Зарегистрирован: 2010.02.20
Сообщений: 230
Карма: 1
Профиль

Re: EXEC(); and WGET

Я рекомендую написать на яваскрипте методом асинхроного запроса. Там можно проверять статус отправки запроса:
- отправляется
- идет обмен
- отправлен
и что-то подобное, там статус от 1 до 4. Вот там при определенный статусах можешь и сделать процент загрузки. Я уже делал такое, но только когда писал скрипт загрузки станицы (40, 60, 80, 100%) всё работало smile
Даже можно написать подъем от 0 до 100 процентов, а не по кускам 40, 60, 80 100%. Я многое мутил через яваскрипт а также аякс. И по этому советую эту технологию) классная вещь.

Неактивен

#6 2010.12.26 19:25

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: EXEC(); and WGET

Бред вы несете ребята.
Функция для получения размера файла по URL:
function getSizeFile($url) {
        $x = array_change_key_case(get_headers($url, 1), CASE_LOWER);
        return (strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0) ? $x['content-length'][1] : $x['content-length'];
}
Потом
$query['size'] = getSizeFile('http://test1.ru/file.rar');
$percent = $query['size']/100;
$file = explode('/', $query['url']);
$file = 'files/' . end($file);
echo round((filesize($file)/$percent), 2) . '%';
====
Надеюсь доступно объяснил.

Неактивен

#7 2010.12.26 20:34

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: EXEC(); and WGET

ByVlad, никто не спрашивал как получить размер файла, спрашивали как сделать прогрессбар)

Неактивен

#8 2010.12.27 00:01

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: EXEC(); and WGET

Получение размера очень просто - зоголовки

Неактивен

#9 2010.12.27 00:15

ByVlad
Участник
Откуда: Киев
Зарегистрирован: 2010.03.27
Сообщений: 82
Карма: 1
Профиль Веб-сайт

Re: EXEC(); and WGET

Gemorroj написал:

ByVlad, никто не спрашивал как получить размер файла, спрашивали как сделать прогрессбар)

Так он должен обновлятся онлайн?
Или как, ничего не пойму.

Неактивен

#10 2010.12.27 00:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: EXEC(); and WGET

ByVlad, да, онлайн. Основная задача - синхронизировать процент закачки и отображаемые пользователю данные. Т.е. как JS скрипт узнает что файл скачан на 50%? асинхронные запросы к серверу через энные промежутки времени?

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s