控制输出函数ob_xx疑问:output buffer 是什么意思?

zairwolf 2005-07-25 08:58:27
<?
ob_start();
echo('adddddddddddwwwwwwwwwww a wwwwwwwwwwwww');
$b=ob_get_contents();
ob_end_clean();
//ob_clean();
echo(str_replace('a','c',$b));
ob_end_flush();

如上程序,ob_end_clean()和ob_clean没有区别。怎样得出两者的区别?
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
surfchen 2005-07-26
  • 打赏
  • 举报
回复
output buffer从英文翻译过来就是输出缓冲
surfchen 2005-07-26
  • 打赏
  • 举报
回复
把php.ini中的output_buffering 改为off,也就是output_buffering = Off
重新启动APACHE
然后测试以下代码,然后再把下面的ob_end_clean();换成ob_clean();运行看看
<?php
ob_start();
echo 'surfchen';
ob_end_clean();
echo 'zairwolf';
$c=ob_get_contents();
echo "c:".$c;
?>
zhiin1 2005-07-26
  • 打赏
  • 举报
回复

顶一下!```````
vitalgg 2005-07-26
  • 打赏
  • 举报
回复
ob_end_clean比ob_clean多做一些事情.就是关闭缓冲区.
ob_clean 只是清除缓冲区中的内容.
区加见下程序.(ob_end_clean 输出的结果中不含有 "ob_handle")
==========================
<?php
function bfc($buffer){
return $buffer."ob_handle!";
}
ob_start("bfc");

echo('adddddddddddwwwwwwwwwww a wwwwwwwwwwwww');
$b=ob_get_contents();
//ob_end_clean();
ob_clean();
echo(str_replace('a','c',$b));
ob_end_flush();
?>
==================================

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧