Буферизация данных в PHP

Буферизация – метод хранения, ввода, вывода информации на вычислительной машине. Процесс буферизации разделяется на 2 этапа:
1. сборщик информации(ввод данных)
2. вывод или передача хранимых данных

Буферизация полезна тем, что система не ждет результата выполнения кода(echo или print) и сразу двигается дальше, а так же можно прописывать старт заголовков в любом месте(setcookie, header).

<?
ob_start('ob_gzhandler',4); // включение сжатия 0 - 9

ob_start(); // старт буферизации

// не меняйте местами сжатие и старт буферизации, иначе страница просто не откроется во многих браузерах!!

if(strpos($_SERVER['HTTP_USER_AGENT'],'opera')!==false){

$title='Титлы для оперы';

}else{

$title='Титлы для других браузеров';

}

echo 'Приветствую на моем сайте!';

setcookie('test','value');

include_once 'head.php';

head.php:

$buff=ob_get_contents(); // можно сделать дополнительные операции с данными из буфера

ob_clean(); // очишаем буфер

echo '<html>

<head>

<title>'.$title.'</title>

<body>';

echo $buff; // вывод содержимого буфера

echo '</body>

</html>';
?>

Отсюда мы видим что при буферизации можно изменять данные(в данном случае титлы), затем установив их в нужное место. И не надо ограничиваться титлами,так же можно записывать различные ошибки или уведомления в $error, $warn или $true. Стоит учесть 1 “но”: функцию output_add_rewrite_var() нужно активировывать после ob_clean().

output_add_rewrite_var() служит для автоматического пристыковывания переменной и ее значение к ссылкам и формам(на header это не действует!)


Другие публикации:



Написать комментарий через:

 
               
  • Локальный блог
  •  
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

 
Статусы для соц.сетей на ArtKiev Design Studio