powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает буферизация вывода
5 сообщений из 5, страница 1 из 1
Не работает буферизация вывода
    #38244513
Vasiliy_Kashkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторый файл, внутрь которого подключен другой файл командой require_once. Необходимо забуферить в переменную $output вывод самого файла, а также подключенного к нему.
<?php
ob_start();
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/admin/1c_exchange.php");
echo "Test":
$output=ob_get_contents();
ob_end_flush();
echo $output;
?>
В результате почему-то выводится только Test, а вывод подключенного файла не отображается, хотя он есть.
Если скопировать строку с require_once, убрав once из обеих строк, то в буфер попадает вывод последнего require и Test.
Если вывести некоторую строку перед require:
<?php
ob_start();
echo "Before";
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/admin/1c_exchange.php");
echo "Test":
$output=ob_get_contents();
ob_end_flush();
echo $output;
?>
То выводится ошибка Ошибка 330 (net::ERR_CONTENT_DECODING_FAILED): Неизвестная ошибка.
Если добавить некоторый вывод перед ob_start()
<?php
echo "before ob_start";
ob_start();
echo "Before";
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/admin/1c_exchange.php");
echo "Test":
$output=ob_get_contents();
ob_end_flush();
echo $output;
?>
то ошибка не выходит, но буферизируется только слово Test.

Объясните пожалуйста, в чём причина такого аномального поведения буферизации?

Модератор: Не забываем что тут имеется кнопочка SRC для оформления кода!
...
Рейтинг: 0 / 0
Не работает буферизация вывода
    #38244556
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте не выкидывает ли случайно ваш подключаемый файл каких-либо HTTP заголовков.
Т.к. заголовки не буферизируются и это может привести к непредсказуемым результатам
...
Рейтинг: 0 / 0
Не работает буферизация вывода
    #38244730
Vasiliy_Kashkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvano,
Спасибо, проверю. Если и правда дело в заголовках, что можно сделать, чтобы устранить проблему? Модифицировать подключаемый файл никак нельзя.
...
Рейтинг: 0 / 0
Не работает буферизация вывода
    #38244736
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала разберитесь с тем, что делает ob_end_flush()
...
Рейтинг: 0 / 0
Не работает буферизация вывода
    #38244737
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettДля начала разберитесь с тем, что делает ob_end_flush()
А нет, я плохо вчитался, пардон
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает буферизация вывода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]