开发者社区> 问答> 正文

php中开启缓冲压缩 ob_start('ob_gzhandler') 之后是在什么时候开始的压缩?

我开启压缩 ob_start('ob_gzhandler') 之后,将ob_get_contents 的内容写到文件里面,但是文件里面内容是纯文本,字符串数据并没有压缩
难道是说这个压缩过程是在s端发送data到c端的时候执行的吗?也就是将数据压缩后走http发送给client的browser,而本地存储的过程不会启用压缩?

如果我想将数据压缩存入本地就只能 fwrite($fp,gzcompress(ob_get_contents())) 这样了?

展开
收起
落地花开啦 2016-06-17 18:05:28 2811 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    对的,ob_start('ob_gzhandler')是只压缩页面的输出缓存,根据浏览器请求的压缩方式('gzip', 'deflate')进行相应压缩返回.
    gzcompress的压缩方式是ZLIB,gzencode是gzip.本地的话,就只能gzcompress(ob_get_contents())

    2019-07-17 19:43:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载