|
|
|
|
|
для: Sfinks
(27.05.2012 в 11:59)
| | спасибо, теперь понятно! | |
|
|
|
|
|
|
|
для: ladan
(27.05.2012 в 11:34)
| | Если не очистить буфер, то по завершении работы скрипта, буфер сбрасывается пользователю. Значит должен. | |
|
|
|
|
|
|
|
для: cheops
(27.05.2012 в 08:18)
| | Спасибо, уже чуток суть происнилась :) А такой код:
Должен выводить "привет"? Просто в описание этой функции говорится, что она все содержимое страницы(видимо скрипта) сохраняет в буфер и не показывает это содержимое пользователю... | |
|
|
|
|
|
|
|
для: ladan
(27.05.2012 в 04:14)
| | Да, все верно, это штатные поведения функций ob_end_flush() и ob_end_clean() - так и должно быть. | |
|
|
|
|
|
|
|
для: ladan
(27.05.2012 в 03:52)
| | >Там где выделенном жирным. Наверно речь шла о ob_end_clean()?
Смотря, что делать хотите, вообще, ob_end_clean() должна уничтожить буфер без отдачи клиенту, а ob_end_flush() - вытолкнуть содержимое буфера клиенту и уничтожить буфер. | |
|
|
|
|
|
|
|
для: ladan
(27.05.2012 в 03:52)
| |
bool ob_start ([ callable $output_callback
[, int $chunk_size = 0 [, bool $erase = true ]]] )
Эта функция включает буферизацию вывода. Если буферизация
вывода активна, вывод скрипта не высылается (кроме
заголовков), а сохраняется во внутреннем буфере.
|
Значит:
Выводится, а не должно вроде бы как!
Ну а если так:
<? ob_start(); ?>
привет
<?
ob_end_flush();
?>
|
Что без ob_end_flush, что с ним, все равно все выводится. И не понятно для чего он... в php.ini и htacsess ничего не прописано, что связано с буфером(проверяю на денвере)
Единственное это:
<? ob_start(); ?>
привет
<? ob_end_clean(); ?>
|
Ничего не выводится, пока перед очисткой буфера его содержимое не поместить в переменную и затем вывести
<?
$page = ob_get_contents();
ob_end_clean();
echo $page;
?>
| ? ob_end_clean(); ? | |
|
|
|
|
|
|
|
для: cheops
(27.05.2012 в 00:28)
| | спасибо! пойду еще читать пока не усвою. У вас вроде опетачка в статье http://www.softtime.ru/dic/id_dic=290&id_group=12
Эта функция очищает содержимое буф
ера вывода и отключает буферизацию вывода. Если необходимо далее поддерживать процесс буфериза
ции содержимого, следует вызвать ob_get_contents() перед ob_end_clean(), так как содержимое буфера уничтожается при вызове ob_end_flush(). Функция возвращает TRUE в случае успеха и FALSE в случае неудачи. Одной из основных причин не
удачного завершения работы функции - вызов её без активации буферизирования или в том случае если буфер не может быть уничтожен (специальный тип буфера).
|
Там где выделенном жирным. Наверно речь шла о ob_end_clean()? | |
|
|
|
|
|
|
|
для: ladan
(27.05.2012 в 00:15)
| | Вообще это явно нигде не оговаривается, но судя по всему PHP неявно сбрасывает буфер в конце работы. Судя по всему буфер не отдается только в том случае, если вы его явно извлекаете или сбрасываете. | |
|
|
|
|
|
|
|
для: cheops
(26.05.2012 в 20:35)
| | правильно ли я понимаю, что такой код:
<?php ob_start('compress_html'); ?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
<div>Hello!</div> <div>Hey!</div>
</body>
</html>
|
не должен выводить содержимое страницы, пока я не укажу ob_end_flush? Запутался что-то | |
|
|
|
|
|
|
|
для: ladan
(26.05.2012 в 17:50)
| | Она вообще-то и должна быть по умолчанию быть отключена, да и вы её явно отключили... | |
|
|
|
|