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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: progress bar

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
etoYA
Отправлено: 20 Февраля, 2013 - 15:23:23
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Как сделать?Улыбка

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

При этом, скрипт выводит информацию только в конце (время выполнения). Как я понимаю, нужно процент записывать в сессию. Потом обращатся через ajax к файлу каждые n (среднее время выполнение 1го действия) секунд. Да?

(Отредактировано автором: 20 Февраля, 2013 - 15:24:04)

 
 Top
OrmaJever Модератор
Отправлено: 20 Февраля, 2013 - 15:28:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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

К чему такие вопросы? Вы зами спросили, сами ответили, а от нас ждёте только "да" или "нет"?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
etoYA
Отправлено: 20 Февраля, 2013 - 15:30:50
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




OrmaJever, можно и так сказать, но не совсем. Ведь файл будет открыватся при каждом обращении, а в таком случае цикл будет запускатся заново..Или нет?
 
 Top
Мелкий Супермодератор
Отправлено: 20 Февраля, 2013 - 15:44:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




etoYA пишет:
нужно процент записывать в сессию

Не получится. Сессия блокирующая штука. Если скрипт берёт сессию - все другие желающие воспользоваться этой же сессией ждут.


-----
PostgreSQL DBA
 
 Top
etoYA
Отправлено: 20 Февраля, 2013 - 16:46:43
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Может кто-то написать пример. Просто, чтобы в див блок выводилась $i, которая увеличиавется в цикле? Или скажите в какую сторону смотреть.Улыбка

(Отредактировано автором: 20 Февраля, 2013 - 16:47:33)

 
 Top
NoPaper
Отправлено: 20 Февраля, 2013 - 19:37:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


Помог: 9 раз(а)




flush() ? Только ajax по-любому будет ждать, пока не закроется соединение либо не истечет таймаут
 
 Top
avtor.fox
Отправлено: 20 Февраля, 2013 - 20:38:54
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




etoYA, ни разу не реализовывал подобное, но -
грузим файл, запоминаем его размер. Аяксом тыкаем интервалом файл на его размер в момент загрузки и выводим бар. В чём затык? Зачем сессии и прочее?
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Февраля, 2013 - 21:00:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




etoYA пишет:
Может кто-то написать пример. Просто, чтобы в див блок выводилась $i, которая увеличиавется в цикле? Или скажите в какую сторону смотреть

http://forum.php.su/topic.php?forum=71&topic=4459&postid=1331201915#1331201915
 
 Top
etoYA
Отправлено: 20 Февраля, 2013 - 22:02:59
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




avtor.fox, размер его не изменяется. ибо в нем только цикл.
(Добавление)
DeepVarvar, спасибо гляну)
 
 Top
avtor.fox
Отправлено: 20 Февраля, 2013 - 22:08:07
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




etoYA, при чём тут вообще его размер? Не та ситуация Улыбка
 
 Top
etoYA
Отправлено: 20 Февраля, 2013 - 22:20:19
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




avtor.fox, походу не догоняю я)) Ну то ладно, буду разбиратся)
 
 Top
esterio
Отправлено: 21 Февраля, 2013 - 18:45:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Ну на Пихе 5.4 - просто реализуемо, там есть погресс загрузки файла который сораняется в сессии откуда можно дергать через AJAX. Но версии ниже 5.4 нужно порядно изощарятся
 
 Top
LShark
Отправлено: 22 Февраля, 2013 - 10:21:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Если уж совсем извращенный тип - то просто вставь в цикл запись номера итерации ($i) в ДРУГОЙ файл (типа file_put_contents("iter.txt",$i);
И читай его (в примере - iter.txt) аяксом, выводя значение.

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


-----
Истина прежде всего в том, что...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB