ob_start() 打开缓冲区的作用是什么,怎么用 ob_start() 打开缓冲区的作用是什么,怎么用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ob_start();....ob_clean();这两句中间的任意输出,都可以用ob_get_contents();来获取而不输出到浏览器.经典应用:将phpinfo()的信息写到文件里.ob_start();phpinfo();$phpinfo = ob_get_contents();//文件读写操作ob_clean(); 那是不是可以这样理解正常的写入等操作是在内存中完成的但是ob_start(); .... ob_clean(); 这里的操作直接通过服务器的缓存完成,也就是所谓的提高效率 php输出东西,会保存在一个php维护的内存里,称为buffer也行,缓存也行,都是一个意思。然后当这个buffer满了,php会自动往web server发送这些数据。也就是说每次echo,并不一定会输出东西,而是保存在buffer里。ob_start()的意思,可以理解为(但是实际上和我下面的说法有区别),这个buffer由ob_系列函数来来控制,也就是,PHP不会维护自己的buffer,不会自动把buffer的内容自动发送到web server,直到你ob_end()或者类似的ob操作。ob_函数一般用来捕获当前的输出,跟效率是没什么关系的。至于为什么捕获输出,原因很多,例如我捕捉输出,缓存到一个文件里,下次请求就可以直接读这个cache文件的内容作为输出了。 文件上传 有谁明白liunx cacti流量监控? PHP生成图片带BOM的问题? 关于PHP与AES的怪异问题 如何在关闭窗体时让session失效 谁分析下今天CSDN不能换行的原因 求 php_gd_gif.dll 求分页程序(高分) "突发奇想"---使用xml, xsl 来分离代码和html, 不知道大家有何想法? 多少browser支持xml? 求教:来者给分 列表框List控件多选时,如何取得所有选中的值 PHP时间格式问题 用php如何实现修改系统时间呀?
....
ob_clean();
这两句中间的任意输出,都可以用ob_get_contents();来获取而不输出到浏览器.经典应用:将phpinfo()的信息写到文件里.
ob_start();
phpinfo();
$phpinfo = ob_get_contents();
//文件读写操作
ob_clean();
正常的写入等操作是在内存中完成的
但是
ob_start();
....
ob_clean();
这里的操作直接通过服务器的缓存完成,也就是所谓的提高效率