067 607 57 84
МЕНЮ

Буферизація даних в 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 це не діє!).