有没有办法从PHP Virtual()获取输出?
ob_start()
virtual();
ob_end_flush();
在我的情况下不起作用。
答案 0 :(得分: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');
答案 1 :(得分:0)
使用obj_end_flush()
停止输出缓冲并删除缓冲输出。
你可能想要的是:
ob_start();
virtual();
$output = ob_get_clean();
$output
包含缓冲输出,因为ob_get_clean()
停止输出缓冲并返回缓冲输出而不是删除它。