2015-11-19 2 views

ответ

1

За ручной http://php.net/manual/en/function.virtual.php:

Чтобы запустить подзапрос, все буферы прерываются и продували в браузере, ожидающие заголовки посылаются тоже.

Один из способов, что я могу думать о том, чтобы создать отдельный файл и загрузить:

// virtual.php 
virtual('/path/to/whatever'); 

Тогда, куда вы хотите, чтобы получить содержимое, загрузите его:

// other.php 
$string = file_get_contents('http://www.example.com/path/to/virtual.php'); 
+0

Отличное решение, работает для меня! Большое спасибо! – kasoft

0

Вы используете obj_end_flush(), который останавливает буферизацию вывода и удаляет буферизованный вывод. То, что вы, вероятно, хотите, это:

ob_start(); 
virtual(); 
$output = ob_get_clean(); 

$output содержит буферизованный выход, потому что ob_get_clean() останавливает буферизацию и возвращает буферизованный вывод вместо того, чтобы удалить его.

PHP manual ob_end_flush()

PHP manual ob_get_clean()

+0

Буферизация вывода не работает с 'virtual()' – AbraCadaver

Смежные вопросы