当前位置:编程学习 > php >>

我想把一字符串当PHP执行后输出到缓存,但在下面代码中,字符串被直接输出到浏览器了,不知道什么原因?

ob_start();
$str=file_get_contents('1.php');
eval('?>'.$str);
 
如何使eval()不输出到浏览器,另外,require()函数还是直接输出到浏览器,有知道怎回事么?

在这段代码后面加上ob_end_flush();不会输出缓存区的内容,为什么?

望高手解答!~!!!!!!!

追问:试了,不行,include()语句那里被直接输出到浏览器了
答案:ob_start();
include('./xxxx.php');
$content = ob_get_contents() ;
ob_end_flush();
echo $content;
ob_start()是打开一个输出缓冲区,如果最后没有使用
ob_end_flush()则php会将缓冲区的内容输出到浏览器,php手册上写的很清楚了,与eval无关

上一个:看了半个多月的Smarty.有些函数看懂了.但是整体的应用没明白.怎么办啊
下一个:请教,怎么能让php页面不去等待system所调用的命令的返回结果?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,