在PHP手册上有gzdeflate说评论:PHP:gzdeflate在多台机器上安全吗?
gzcompress产生更长的数据,因为它嵌入关于 信息编码到字符串。如果您要压缩的数据只能在一台机器上处理,那么您无需担心 您使用的是哪些功能。但是,如果您将 与这些函数压缩的数据传递到另一台机器,则应该使用gzcompress 。
然后
上运行的各种内容50000次重复,我发现gzdeflate() 和gzcompress()都执行一样快,无论内容和 压缩级别,但gzinflate()总是约两倍于 gzuncompress()。
为了我的目的,我将数据存档在机器上供将来使用。数据经常被读取,但只写入一次。从理论上讲,如果我在某个时候更换服务器,将来有一天会转移到另一台机器上,但那是几年之后的事情。
与gzcompress和gzuncompress相比,使用gzdeflate和gzinflate安全吗?
我的想法如下:gzinflate更快,这将有助于服务器很多,因为会有很多的读取请求。如果在将来的某个时候我无法读取文件,那么我应该能够弄清楚如何解压缩文件并重新压缩它,对吧?这不是说gzinflate会有一天神奇地不起作用,就像第一个评论似乎在说。即使缺少一个6字节的头文件,我确信它可以以某种方式扩展。
想法?
更新 - 每个基准
10,000次重复:
gzdeflate took 19.158888816833 seconds and size 18521
gzinflate took 1.4803981781006 seconds
gzcompress took 19.376484870911 seconds and size 18527
gzuncompress took 1.6339199542999 seconds
gzencode took 20.015944004059 seconds and size 18539
gzdecodetook 1.8822891712189 seconds
谢谢你的回答。这对我有很大的帮助。请考虑在php.net文档中发布您的答案。 – Alasdair 2013-02-23 05:48:35