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

Форум PHP

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

 

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

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

тема: ob_start()... а вывод продолжается.
 
 автор: Zilog   (04.03.2009 в 23:17)   письмо автору
 
 

Из описания функции ob_start()
Эта функция включает буферизацию вывода. Если буферизация вывода активна, никакой вывод скрипта не высылается (кроме шапок/headers); вывод сохраняется во внутреннем буфере.


Так вот пишу, полсделовательно:
ob_start();
echo 'blabla';
..
$content = ob_get_contents();

Так он blabla и выводит. А по описанию не должен. Или я не прав?

  Ответить  
 
 автор: ddhvvn   (04.03.2009 в 23:50)   письмо автору
 
   для: Zilog   (04.03.2009 в 23:17)
 

не правы.
если коротко - то при буферизации ВСЕ что выводится на странице, выводится СРАЗУ (вместе), в конце скрипта.

  Ответить  
 
 автор: Zilog   (05.03.2009 в 00:14)   письмо автору
 
   для: ddhvvn   (04.03.2009 в 23:50)
 

Этого не сказано в описании. Сказано вот что:

Содержимое этого внутреннего 
буфера может быть скопировано в 
строковую переменную с использованием 
ob_get_contents(). Для вывода 
содержимого этого внутреннего буфера 
используйте ob_end_flush(). Альтернативно ob_end_clean() втихую 
отбрасывает содержимое буфера.


Из чего следует, что после ob_start() прямой вывод должен прекратиться и направиться в буфер, которые можно вывести или получить его содержимое.

Может, конечно, если ничего не сделать в конце автоматом последует вывод. Однако ж, непонятно, пчему вывод идет, если все сделано сгогласно описанию функции.

  Ответить  
 
 автор: Trianon   (05.03.2009 в 00:18)   письмо автору
 
   для: Zilog   (05.03.2009 в 00:14)
 

ну Вы же ob_end_clean() не вызвали?
Значит перед завершением выполнился ob_end_flush()

  Ответить  
 
 автор: Zilog   (05.03.2009 в 00:38)   письмо автору
 
   для: Trianon   (05.03.2009 в 00:18)
 

>ну Вы же ob_end_clean() не вызвали?
>Значит перед завершением выполнился ob_end_flush()

Спасибо, сработало.

  Ответить  
Rambler's Top100
вверх

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