我使用两个PHP脚本来移动大量数据:一个在客户端使用命令行PHP脚本,另一个在Apache之后。我将数据发布到服务器端,并使用php://
input流将其保存在Web服务器端。为了防止达到任何内存限制,对于每个POST请求,将数据分成500kB的块。所有这些都很好。
现在,为了节省带宽并加快速度,我想在发送之前先压缩数据,然后在另一端接收时解压缩。我发现3对函数可以完成这项工作,但是我无法决定要使用哪个函数:
gzencode
/ gzdecode
gzdeflate
/ gzinflate
gzcompress
/ gzuncompress
您会推荐哪一对功能,为什么?
更新: 我刚刚阅读了zlib FAQ:
gzip格式(gzencode
)旨在保留有关单个文件的目录信息,例如名称和最后修改日期。gzcompress
另一方面,zlib格式()专为内存和通信通道应用程序而设计,它具有更紧凑的标题和尾部,并且比gzip使用更快的完整性检查。
所有这些都可以使用。两者之间有细微的差别:
gzip
命令行工具相同。此文件格式的标头包含可选的元数据,DEFLATE压缩数据以及包含CRC32校验和和长度校验的页脚。这三个函数均在后台使用相同的算法,因此它们的速度或效率不会有所不同。
gzencode()
添加了包含原始文件名和其他环境数据的功能(仅在压缩字符串时未使用)。
gzencode()
和gzcompress()
这两个添加校验和,所以归档文件的完整性进行验证,它可以在不可靠的传输和存储的方法是有用的。如果所有内容都存储在本地,并且您不需要任何其他元数据,那么gzdeflate()
就足够了。为了可移植性,我建议gzencode()
(GZIP
gzcompress()
格式)在其他工具中可能比(ZLIB格式)更受支持。
当压缩非常短的字符串时,每种方法的开销都很重要,因为对于非常短的输入,开销可能占输出的很大一部分。通过压缩空字符串来衡量的每种方法的开销为:
gzencode('')
= 20字节gzcompress('')
= 8个字节gzdeflate('')
= 2个字节本文向大家介绍php压缩和解压缩字符串的方法,包括了php压缩和解压缩字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php压缩和解压缩字符串的方法。分享给大家供大家参考。具体如下: 下面php代码通过gzcompress和gzuncompress压缩和解压缩字符串,可以设定压缩级别 希望本文所述对大家的php程序设计有所帮助。
问题内容: 我正在写一个分析页面,该页面将帮助我找出应用程序中的错误。从本质上讲,它允许直观地比较实际数据和日志条目,并对数据进行一些分析。 由于这仅用于调试,并且由于我将其部署在实时站点中,因此我希望它具有尽可能小的服务器负载。一些分析选项将包括相当繁重的子字符串搜索或n 2个操作,因此我将其分流给客户端。 这意味着PHP页面将仅从表和日志中获取数据,对其中的一些进行JSON并将其写出。然后,客
问题内容: 有人可以向我解释zlib库在Nodejs中如何工作吗? 我对Node.js很陌生,还不确定如何使用缓冲区和流。 我的简单情况是一个字符串变量,我想将字符串压缩或解压缩(压缩或膨胀,gzip或gunzip等)到另一个字符串。 即(我希望它如何工作) 感谢您的帮助:) 问题答案: 更新 :没意识到在节点0.5中有一个新的内置“ zlib”模块。我在下面的答案是针对第三方node- zlib
我有一个正在工作的python模块,它能够读取LZMA压缩的SWF的头,但是它需要一个名为pyLZMA的模块,而这个模块似乎不想安装在我的服务器上,并且让它在本地工作是一个巨大的麻烦,所以如果有PHP解决方案的话,我更希望有一个PHP解决方案。
本文向大家介绍PHP自带ZIP压缩、解压缩类ZipArchiv使用指南,包括了PHP自带ZIP压缩、解压缩类ZipArchiv使用指南的使用技巧和注意事项,需要的朋友参考一下 要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于win系统,直接去掉php_zip.dll 扩展的注释,
本文向大家介绍Android中3种图片压缩处理方法,包括了Android中3种图片压缩处理方法的使用技巧和注意事项,需要的朋友参考一下 Android中图片的存在形式: 1:文件形式:二进制形式存在与硬盘中。 2:流的形式:二进制形式存在与内存中。 3:Bitmap的形式 三种形式的区别: 文件形式和流的形式:对图片体积大小并没有影响。也就是说,如果你手机SD卡上的图片通过流的形式读到内存中,在内