Портфоліо
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
Технології
Розробляємо інтернет-магазини, CRM системи, SaaS, APP платформи — впроваджуємо AI у процеси та рішення.
Client Logo
Icon 5.0
+150 клієнтів
Новий проєкт
Project Image
14.10.2025

Буферизація виводу на PHP

Blog Image

Часто бувають випадки, коли в деякому місці програми необхідно відправити заголовки, наприклад, для перезавантаження сторінки, а контент на висновок вже відправлений або контент, який виводиться раніше певної інформації, необхідно вивести після цієї інформації. У цьому випадку потрібно переписувати програму, можливо, змінювати алгоритм, що б добитися того, що потрібно. Але можна зробити простіше, для цього в PHP (скажімо прямо не тільки для цього) і придумали чудовий набір функцій починаються c префікса ob_, такі як ob_start(), ob_get_contents(), ob_end_clean() і інші.

 

Розглянемо на прикладі буферизацию виведення на PHP:

<?
echo 'test';
header('location:http://site.com'); //відправлений заголовок вже не спрацює, тому що на висновок вже відправлено слово "test"
exit();
?>

Що б функція яка відправляє заголовки спрацювала, необхідно запустити буферизацію виводу. Це означає, що інформація яка виводиться на екран буде складатися в буфер, а не вирушати відразу на екран.

<?php
ob_start();
echo 'test';
header('location:http://site.com'); //тепер відправлений заголовок спрацює
exit();
?>

На наступному прикладі видно, як вивести контент, який виводиться раніше визначеної інформації, після цієї інформації.

<?php
ob_start();
echo 'перший виведений контент';
$out=ob_get_contents(); //в змінну $out складають перший виведений контент
ob_end_clean(); //припиняємо буферизацию і очищаємо буфер
echo 'другий виведений контент';
echo $out; //виводимо перший виведений контент
?>

В результаті перший контент буде виведений після другого, хоча і вирушав він на висновок раніше першого.

Давайте
рухати
світ
разом
стати клієнтом
Redstone Icon
Зателефонувати
Менеджер REDSTONE
Play Muted Unmuted Link Drag