Прогресс бар

Fishus

Новичок
Прогресс бар

Интересует след. вопрос:
можно ли сделать прогресс бар выполнения php-скрипта?

Например:
в цикле выполняем некоторое действие (например отсылаем рассылку) и во время выполнения скрипта браузер "как бы виснет" (время выполнения минут 15-20) - что само собой не удивительно.. но обычному человеку это не понятно.

Можно ли в данном случае сделать прогресс бар? (% само собой вычислить не так сложно)

Что посоветуете?
 

Tor

Новичок
можно, все можно
и поиском пользовать можно, даже нужно
 

Serguitar

Новичок->продвинутый
Имхо, нельзя. Ты не можешь контролировать время выполнения скрипта, как и скрипт во время выполнения, можешь получить только результат.
 

Fishus

Новичок
2Tor: пользовался я поиском. всего 4 топика и то не по теме.

а на счет флуша: мысли были, но он ведь выкидывает все по очереди, а очищать, то что он выкинул, как-нибудь можно?
 

Z.O.S.

Новичок
<html>

<head>
<title>прогресс бар</title>
<STYLE TYPE="text/css">
#pb {
width:2px;
heght:50px;
float:left;
background: #000;
}
</STYLE>

</head>

<body>

<?php
$i=10000000;
$s=$i/100; // Шаг
$p=0;
while ($i>0)
{
//Что-то в цикле
$i--;
$p++;
if($p>=$s){
print "\n<DIV id='pb'>&nbsp;</DIV>\n";
$p=0;
flush();
}
}


?>

</body>

</html>

Что-то типа, если еще счетчик хоцца то тут без JavaScript не разбежишься.

P.S.: Рановато закрываешь!
 

netdog

net @
делаешь js функцию которая посредством innerHTML че-нить меняет на экране. рисует/изменяет прогресс бар.
а в php цикле уже выводишь с интервалом например за в секунду <script>progress(n [0-100])</script> и флашишь буффер
 

Fishus

Новичок
все. всем спасибо.
сам давно разобрался. (потому собсно тему и просил закрыть.)
все оказалось элементарно и проще чем я думал.
(flush+JavaScript)

2DiTHER: потому что задача так стоит. запускать его не из консольки а из браузера.
 

Frol

Новичок
не надо показывать.
если не хватает слов flush + JavaScript -- то пользы не будет.
 
Сверху