curl — обновление в реальном времени из переменной в переполнении стека

У меня есть этот код, и он работает нормально. Показывает обновление в реальном времени.

function progress($resource,$download_size, $downloaded, $upload_size, $uploaded)
{
if($download_size > 0)
$GLOBALS['progress'] = round($downloaded / $download_size  * 100);
echo $GLOBALS['progress'];
echo str_pad("", 1024, " ");
flush();
usleep(20000);
}

Тогда почему этот код не показывает обновление в реальном времени. Он показывает 100 в конце выполнения скрипта.

function progress($resource,$download_size, $downloaded, $upload_size, $uploaded)
{
if($download_size > 0)
$GLOBALS['progress'] = round($downloaded / $download_size  * 100);
}
if($GLOBALS['progress']) {
echo $GLOBALS['progress'];
echo str_pad("", 1024, " ");
flush();
usleep(20000);
}

На самом деле мне не нужно показывать обновления в реальном времени. Я хочу запустить задачу, когда значение $ GLOBALS [‘progress’] больше 0. Например.

if($GLOBALS['progress']>0){
//start another download immediately not when the value reaches to 100
}

Когда я пытаюсь использовать 2-ю версию моего кода, она запускает задачу, когда значение равно 100. Мне нужно немедленно выполнить код, как только его значение достигнет 1 или больше 0. Может кто-нибудь сказать, почему 2-я версия моего кода не работает и как я могу выполнить свою реальную задачу? Любое предложение будет с благодарностью.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]