Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: progress bar
Форумы портала PHP.SU » » Вопросы новичков » progress bar

Страниц (1): [1]
 

1. etoYA - 20 Февраля, 2013 - 15:23:23 - перейти к сообщению
Как сделать?Улыбка

к примеру для
PHP:
скопировать код в буфер обмена
  1.  
  2. $x = 20;
  3. for ($i = 0; $i < $x; $i++){
  4.      sleep(1);
  5. }

При этом, скрипт выводит информацию только в конце (время выполнения). Как я понимаю, нужно процент записывать в сессию. Потом обращатся через ajax к файлу каждые n (среднее время выполнение 1го действия) секунд. Да?
2. OrmaJever - 20 Февраля, 2013 - 15:28:42 - перейти к сообщению
etoYA пишет:
При этом, скрипт выводит информацию только в конце (время выполнения). Как я понимаю, нужно процент записывать в сессию. Потом обращатся через ajax к файлу каждые n (среднее время выполнение 1го действия) секунд. Да?

К чему такие вопросы? Вы зами спросили, сами ответили, а от нас ждёте только "да" или "нет"?
3. etoYA - 20 Февраля, 2013 - 15:30:50 - перейти к сообщению
OrmaJever, можно и так сказать, но не совсем. Ведь файл будет открыватся при каждом обращении, а в таком случае цикл будет запускатся заново..Или нет?
4. Мелкий - 20 Февраля, 2013 - 15:44:03 - перейти к сообщению
etoYA пишет:
нужно процент записывать в сессию

Не получится. Сессия блокирующая штука. Если скрипт берёт сессию - все другие желающие воспользоваться этой же сессией ждут.
5. etoYA - 20 Февраля, 2013 - 16:46:43 - перейти к сообщению
Может кто-то написать пример. Просто, чтобы в див блок выводилась $i, которая увеличиавется в цикле? Или скажите в какую сторону смотреть.Улыбка
6. NoPaper - 20 Февраля, 2013 - 19:37:26 - перейти к сообщению
flush() ? Только ajax по-любому будет ждать, пока не закроется соединение либо не истечет таймаут
7. avtor.fox - 20 Февраля, 2013 - 20:38:54 - перейти к сообщению
etoYA, ни разу не реализовывал подобное, но -
грузим файл, запоминаем его размер. Аяксом тыкаем интервалом файл на его размер в момент загрузки и выводим бар. В чём затык? Зачем сессии и прочее?
8. DeepVarvar - 20 Февраля, 2013 - 21:00:10 - перейти к сообщению
etoYA пишет:
Может кто-то написать пример. Просто, чтобы в див блок выводилась $i, которая увеличиавется в цикле? Или скажите в какую сторону смотреть

http://forum.php.su/topic.php?forum=71&topic=4459&postid=1331201915#1331201915
9. etoYA - 20 Февраля, 2013 - 22:02:59 - перейти к сообщению
avtor.fox, размер его не изменяется. ибо в нем только цикл.
(Добавление)
DeepVarvar, спасибо гляну)
10. avtor.fox - 20 Февраля, 2013 - 22:08:07 - перейти к сообщению
etoYA, при чём тут вообще его размер? Не та ситуация Улыбка
11. etoYA - 20 Февраля, 2013 - 22:20:19 - перейти к сообщению
avtor.fox, походу не догоняю я)) Ну то ладно, буду разбиратся)
12. esterio - 21 Февраля, 2013 - 18:45:49 - перейти к сообщению
Ну на Пихе 5.4 - просто реализуемо, там есть погресс загрузки файла который сораняется в сессии откуда можно дергать через AJAX. Но версии ниже 5.4 нужно порядно изощарятся
13. LShark - 22 Февраля, 2013 - 10:21:36 - перейти к сообщению
Если уж совсем извращенный тип - то просто вставь в цикл запись номера итерации ($i) в ДРУГОЙ файл (типа file_put_contents("iter.txt",$i);
И читай его (в примере - iter.txt) аяксом, выводя значение.

Порнография, но зато нет проблем.

 

Powered by ExBB FM 1.0 RC1