ob_start使用ob_gzhandler压缩输出缓存区问题
来源:互联网 发布:java断点续传上传例子 编辑:程序博客网 时间:2024/06/05 10:36
在php中利用ob_start('ob_gzhandler')函数对缓存区内容进行压缩,压缩后再输出内容,在浏览器中会显示 ‘内容编码错误’,原因是:
如果使用ob_start('ob_gzhandler')对内容进行压缩后,不能利用ob_end_clean()清除缓存后,输出处理后的内容,错误代码如下:
<?phpif (extension_loaded('zlib') && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {ob_start('ob_gzhandler');} else {ob_start();}echo phpinfo();$content = str_replace('System', 'xitong', ob_get_contents());ob_end_clean();print($content);?>
最后在浏览器中输出的结果是‘内容编码错误’。但是在ob_end_clean()下再加入ob_start('ob_gzhandler');后就可以正确输出,没找到是什么
原因。正确输出结果的代码如下:
<?phpif (extension_loaded('zlib') && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {ob_start('ob_gzhandler');} else {ob_start();}echo phpinfo();$content = str_replace('System', 'xitong', ob_get_contents());ob_end_clean();ob_start('ob_gzhandler');print($content);?>
- ob_start使用ob_gzhandler压缩输出缓存区问题
- apache中ob_start(\'ob_gzhandler\');前输出内容就会导致浏览出错:无效的或者不支持的压缩格式
- php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
- PHP ob_start()与ob_gzhandler()
- PHP ob_start()与ob_gzhandler()
- PHP页面输出压缩ob_start()
- [转]PHP ob_start() and ob_start('ob_gzhandler')
- PHP中的ob_start用法详解(输出缓存区)
- ob_get_contents ob_get_contents ob_start 缓存区
- PHP输出缓存控制详解 ob_start,flush,ob_flush
- ob_start("ob_gzhandler")与ob_*配合使用时导致浏览无法识别内容/开启gzip时且测试通过的下载代码
- 使用ob_gzhandler函数有3种方法让它对php进行压缩
- 使用ob_gzhandler函数有3种方法让它对php进行压缩
- PHP Warning: ob_start() : output handler 'ob_gzhandler conflicts with 'zlib output compression'
- php 缓存output_buffering和ob_start
- php 缓存output_buffering和ob_start
- printf()输出缓存问题
- printf输出缓存问题
- 温故而知新,学习MFC框架如何创建的过程
- CodeIgniter过滤HTML危险代码
- HDU 1242 BFS+优先队列
- Upton:网络数据抓取框架
- [leetcode刷题系列]Longest Substring Without Repeating Characters
- ob_start使用ob_gzhandler压缩输出缓存区问题
- RTP时间戳相关
- Libvirt学习总结
- hdu 4335 What is N? 数论
- Lucene包结构与服务应用
- HttpClient 的cookie问题
- 解决IE6下png图片的背景透明方法
- OO软件开发方法
- Ubuntu中升级Firefox