Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод данных во время работы скрипта.

Сообщения:  [1-10]   [11-20] 

 
 автор: FireTiger   (27.07.2008 в 19:50)   письмо автору
 
   для: sim5   (27.07.2008 в 19:46)
 

Ладно, давайте закроем этот разговор. Это все впустую ;)

  Ответить  
 
 автор: sim5   (27.07.2008 в 19:46)   письмо автору
 
   для: FireTiger   (26.07.2008 в 15:42)
 

Нет, не устанавливал, но в чужих скриптах, тем более, если "поскольку тоже не ясно, что же все-таки там...", то тем более о каком AJAX может идти речь.

  Ответить  
 
 автор: FireTiger   (27.07.2008 в 19:36)   письмо автору
 
   для: FireTiger   (27.07.2008 в 19:20)
 

Проверил во всех основных браузерах, не работает в Safari, Opera, IE, а работает только в FireFox. Оба варианта. В чем прикол?

  Ответить  
 
 автор: pav1uxa   (27.07.2008 в 19:22)   письмо автору
 
   для: FireTiger   (27.07.2008 в 19:20)
 

именно этот скрипт пробовал?
<?php
echo '<pre>';
  
$f fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
  
$x false;
  while(
$s fgets($f))
  {

    echo 
htmlspecialchars($s);
    
ob_flush();
    
flush();
    
sleep(1);
  }
?> 


Попробуй именно символ в символ как тут сделай файл, ничего не меняя. Там я так понял жестоко зависит от того где находятся ob_flush(); и flush();

  Ответить  
 
 автор: FireTiger   (27.07.2008 в 19:20)   письмо автору
 
   для: noob   (26.07.2008 в 17:01)
 

хм... у меня в любом случае скрипт ждет определенное количество секунд, а потом выводит все сразу. Что-то тут не так?

  Ответить  
 
 автор: noob   (26.07.2008 в 17:01)   письмо автору
 
   для: Trianon   (26.07.2008 в 16:59)
 

опа, заработало так:

<?php
echo '<pre>';
  
$f fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
  
$x false;
  while(
$s fgets($f))
  {

    echo 
htmlspecialchars($s);
    
ob_flush();
    
flush();
    
sleep(1);
  }
?>


т.е. ДО flush() добавил ob_flush(), и sleep поставил после этого всего.

Спасибо!

  Ответить  
 
 автор: Trianon   (26.07.2008 в 16:59)   письмо автору
 
   для: noob   (26.07.2008 в 16:54)
 

У меня он выводит строки посекундно.
Но я предупреждал, что гарантии не будет. Буферизировать вывод может кто угодно посредине.

  Ответить  
 
 автор: noob   (26.07.2008 в 16:54)   письмо автору
 
   для: Trianon   (26.07.2008 в 16:37)
 

Скрипт просто работает 11 секунд (по секунде на 1 строчку файла) с белой страницей, потом сразу выводит все и закрывается. Ничего не меняет.

  Ответить  
 
 автор: Trianon   (26.07.2008 в 16:37)   письмо автору
 
   для: noob   (26.07.2008 в 16:11)
 

<?php
echo '<pre>';
  
$f fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
  
$x false;
  while(
$s fgets($f))
  {
    
sleep(1);
    echo 
htmlspecialchars($s);
    
flush();
  }
?>

  Ответить  
 
 автор: noob   (26.07.2008 в 16:11)   письмо автору
 
   для: noob   (25.07.2008 в 22:33)
 

Вы куда-то ушли от темы. Повторю вопрос.

Вот например

<?
echo "1";
sleep(5);
echo 
"2";
?>


Если запустить скрипт с консоли будет так:
1. на экран выведется "1";
2. пройдет 5 секунд;
3. на экран выведется "2";
4. скрипт остановится.

Если запустить скрипт через браузер:
1. пройдет 5 секунд;
2. на экране выведется "12";
3. скрипт остановится.

Как сделать чтобы вывод в браузер соответствовал выводу в консоли?

Пример:

есть бот

<?
...
while (!
feof($fp)) {
$str=fgets($fp);
if (
$str) echo $str;
#дальше обрыв соединения
...
?>


В консоли он будет выводить информацию по мере ее поступления. Если открывать через браузер, то информация выводится как то странно, раз в 10 минут примерно. Я не уверен что тут что то можно сделать через ajax, потому что если цикл while() тут обрывается, то обрывается и соединение сервера с ботом.

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования