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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Постепенный вывод результов выполнения скрипта
 
 автор: TrunK   (19.01.2007 в 12:47)   письмо автору
 
 

Знаю что такая тема была. Но через поиск найти не смог, т.к. точно не смог сформулировать суть вопроса =).
Допустим:

<?php
echo "first";
while (
$i 65000)
{
   
$i ++;
}
echo 
"second";
for (
$i=0;$i<65000;$i++)
{
   
//...
}
?>

Как сделать так, чтобы сразу вывелось "first", затем после первого цикла "second". Т.е. как сделать, чтобы результаты выводились по мере работы скрипта?

   
 
 автор: Sergey89   (19.01.2007 в 12:58)   письмо автору
 
   для: TrunK   (19.01.2007 в 12:47)
 

flush()?

   
 
 автор: malish   (19.01.2007 в 13:17)   письмо автору
 
   для: TrunK   (19.01.2007 в 12:47)
 

так оно так и будет по твоему примеру... first напишет сначала, а second выведет только после того как пройдет while.. или я не правильно понял вопрос

   
 
 автор: ULIS   (19.01.2007 в 13:23)   письмо автору
 
   для: TrunK   (19.01.2007 в 12:47)
 

PHP, кроме всего прочего, является процедурным языком. Поэтому все операции выполняются по порядку. Нужно только правильно залать последовательность их выполнения ))

   
 
 автор: Sergey89   (19.01.2007 в 13:36)   письмо автору
 
   для: ULIS   (19.01.2007 в 13:23)
 

Да, только в PHP есть такое понятие, как буферизация вывода.

   
 
 автор: malish   (19.01.2007 в 13:45)   письмо автору
 
   для: Sergey89   (19.01.2007 в 13:36)
 

можно тогда и так:


<?php 
$res 
"first\n";
while (
$i 65000

   
$i ++; 

 
$res .= "second\n";
for (
$i=0;$i<65000;$i++) 

   
//... 
}

echo 
$res
?> 


:)

   
 
 автор: Sergey89   (19.01.2007 в 13:54)   письмо автору
 
   для: malish   (19.01.2007 в 13:45)
 

Вы сейчас написали, то что ПХП делает сам :-) человеку же надо от этого избавится. Я уже сказал как это исправить.

   
 
 автор: bronenos   (20.01.2007 в 11:48)   письмо автору
 
   для: Sergey89   (19.01.2007 в 13:54)
 

Хорошо что нашел тему со своей проблемой...
У меня тоже не очень выходит, выводит все вместе через 6 секунд...

$str = array ('Получаем данные', 'Данные получены', 'Строим таблицу...');

foreach ($str as $s) {
 print $s.'<br>';
 flush();
 sleep(2);
}

   
 
 автор: ULIS   (20.01.2007 в 13:36)   письмо автору
 
   для: bronenos   (20.01.2007 в 11:48)
 

Хорошо что нашел тему со своей проблемой...
У меня тоже не очень выходит, выводит все вместе через 6 секунд...

не знаю, у меня поетапно выводит - все нормально

   
 
 автор: bronenos   (20.01.2007 в 13:49)   письмо автору
 
   для: ULIS   (20.01.2007 в 13:36)
 

Вот практически копия этого скрипта здесь
Изменены только фразы
Он должен показать 3 фразы с перерывом в 2 секунды

http://phx.freedomf.net/set/flush.php

   
Rambler's Top100
вверх

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