php输出东西,会保存在一个php维护的内存里,称为buffer也行,缓存也行,都是一个意思。然后当这个buffer满了,php会自动往web server发送这些数据。
也就是说每次echo,并不一定会输出东西,而是保存在buffer里。
ob_start()的意思,可以理解为(但是实际上和我下面的说法有区别),这个buffer由ob_系列函数来来控制,也就是,PHP不会维护自己的 buffer,不会自动把buffer的内容自动发送到web server,直到你ob_end()或者类似的ob操作。
ob_函数一般用来捕获当前的输出,跟效率是没什么关系的。至于为什么捕获输出,原因很多,例如我捕捉输出,缓存到一个文件里,下次请求就可以直接读这个cache文件的内容作为输出了。
也就是说每次echo,并不一定会输出东西,而是保存在buffer里。
ob_start()的意思,可以理解为(但是实际上和我下面的说法有区别),这个buffer由ob_系列函数来来控制,也就是,PHP不会维护自己的 buffer,不会自动把buffer的内容自动发送到web server,直到你ob_end()或者类似的ob操作。
ob_函数一般用来捕获当前的输出,跟效率是没什么关系的。至于为什么捕获输出,原因很多,例如我捕捉输出,缓存到一个文件里,下次请求就可以直接读这个cache文件的内容作为输出了。
本文深入探讨PHP中的输出缓冲机制,解释了PHP如何管理和发送数据到Web服务器的过程。通过使用ob_start()等函数,开发者能够更好地控制输出流程,实现如输出缓存等功能。
1631

被折叠的 条评论
为什么被折叠?



