柒企鹅
2015-08-17 17:38
ob_start();
require_once('./templates/singwa.php');
file_put_contents('index.shtml',ob_get_clean());
//以上语句是可以将数据获取,并清除缓存,页面不会有任何输出
//但是,如果我不写 ob_start(); 页面会将内容全部输出,那么意味着ob_get_clean()函数是没有生效?
//老师说的在ini文件中配置output=on之后,不是没有区别的吗?求解?
##之后我发现我的系统默认设置不是on而是4096,我修改为on之后,不添加ob_start();也不会输出了
//那么问题来了
php.ini文件设置output=on 与系统默认设置output_buffering = 4096 的区别
output_buffering有3个值,on|off|正整数值,4096的意思就是默认开启一个4096Byte大小的缓冲区,而on会打开一个无限大的缓冲区。
php 5.3+默认output_buffering = 4096,说明默认输出缓冲区是开启的,大小为4096,当输出缓冲区中的内容超过4096时候,它会溢出。所以我们在使用输出缓冲区的时候,都会手动去写一个ob_start(),让它开启一个无限大的输出缓冲区。
只有缓冲区达到4096字节时才会输出缓冲区的内容 也可以用ob_flush来强制输出
PHP实现页面静态化
55615 学习 · 118 问题
相似问题
回答 1
回答 3