位置: 编程技术 - 正文

PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别(php解压压缩包)

编辑:rootadmin

推荐整理分享PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别(php解压压缩包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php解压缩,php gzip压缩,php数据压缩,php 压缩,php解压缩,php压缩文件,php压缩字符串,php压缩文件,内容如对您有帮助,希望把文章链接给更多的朋友!

&#;gzencode 默认使用ZLIB_ENCODING_GZIP编码,使用gzip压缩格式,实际上是使用defalte 算法压缩数据,然后加上文件头和adler校验&#;gzdeflate 默认使用ZLIB_ENCODING_RAW编码方式,使用deflate数据压缩算法,实际上是先用 LZ 压缩,然后用霍夫曼编码压缩&#;gzcompress ;默认使用ZLIB_ENCODING_DEFLATE编码,使用zlib压缩格式,实际上是用 deflate 压缩数据,然后加上 zlib 头和 CRC 校验

这三个函数的比较实质上是三种压缩方法:deflate, zlib, gzip的比较。从性能的维度看:deflate 好于 gzip 好于 zlib从文本文件默认压缩率压缩后体积的维度看:deflate 好于 zlib 好于 gzip

这三种算法中gzip 、zlib的作者都是Jean-Loup Gailly和 Mark Adler。这两种算法以及图形格式png,使用的压缩算法却都是deflate算法。deflate算法是同时使用了LZ算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。它最初是由Phil Katz为他的PKZIP归档工具第二版所定义的,后来定义在 RFC 规范中。

deflate算法的压缩与解压的实现过程可以在压缩库zlib上找到。PHP的压缩实现依赖于zlib,zlib是一个提供了 deflate, zlib, gzip 压缩方法的函数库。我们所使用的上面三个函数,将参数中的encoding转为相同,压缩率设置相同,则其最终调用的是同一个函数,效果和性能一样。

PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别(php解压压缩包)

PHP的zlib实现是以扩展的方式存在于ext/zlib目录中。通过deflateInit2() + deflate() + deflateEnd()三个函数配合完成压缩功能,inflateInit2() + inflate() + inflateEnd()三个函数配合完成解压功能。压缩最终都是通过php_zlib_encode函数实现调用,除了输入的字符串,压缩率,结果的输出外,不同的入口函数调用参数不同的是其encoding。deflateInit2的第四个参数指定encoding,PHP定义了三个常量:

三个函数在调用过程可以直接指定encoding使用其它的算法:

此三个函数是三种算法的简单调用方式,以更好的命名展现。三个函数间可以通过指定相同的encoding达到相同的效果,并且PHP也提供zlib_encode函数作为通用的压缩函数。

参考资料:

PHP自带方法验证邮箱是否存在 PHP校验邮箱地址的方法很多,比较常用的就是自己写正则了,不过正则多麻烦,我PHP自带了方法做校验。filter_varfilter_var是PHP内置的一个变量过滤的方法

必须收藏的个php实用代码片段 在编写代码的时候有个神奇的工具总是好的!下面这里收集了+PHP代码片段,可以帮助你开发PHP项目。这些PHP片段对于PHP初学者也非常有帮助,非常容

必须收藏的php实用代码片段 在编写代码的时候有个神奇的工具总是好的!下面这里收集了+PHP代码片段,可以帮助你开发PHP项目。之前已经为大家分享了《必须收藏的个php实用代

标签: php解压压缩包

本文链接地址:https://www.jiuchutong.com/biancheng/290289.html 转载请保留说明!

上一篇:PHP数组游标实现对数组的各种操作详解(php数组怎么定义)

下一篇:PHP自带方法验证邮箱是否存在(php验证源码)

  • 应收应付账务处理工作具体做哪些
  • 硬盘录像机开发板
  • 技术入股亏损如何清算
  • 多计提公积金怎么办理
  • 坏账损失的核算方法一般有两种
  • 装卸费和保险费是价外费用吗
  • 年底结账会计处理
  • 购进货物的价税怎么算
  • 衍生金融资产的核算
  • 原材料投资入股协议约定价值公允价值
  • 小微企业季度缴税一百万退税吗
  • 员工的家庭
  • 房地产企业所得税预缴
  • 企业一般每个月几号上工伤保险
  • 购买办公用品未取得发票怎么办
  • 汽车折旧计算方法按照公里
  • 工资本月计提下月发放,个税如何计算做账
  • 公司如何为员工缴纳社保
  • 广告业的其他应收款包括哪些?
  • 财政收支结余
  • win11如何恢复win10
  • 如何查企业是否上市公司
  • 原材料进项税税率
  • dedecms主页修改
  • 进程core
  • 购货款先到支付后付款
  • 零售企业退货分录
  • w10如何设置工作组
  • 为什么无线网密码对了就是连不上网
  • PHP:imagesetthickness()的用法_GD库图像处理函数
  • php请求https
  • 机关事业单位体检费用标准规定
  • php获取本机ip地址
  • 软件是无形的,可见的物理实体
  • redirect_uri参数错误的解决方法(必看)
  • php十进制转二进制算法
  • php解析base64数据生成图片的方法
  • 税控盘用来干嘛的
  • 数据挖掘的四种基本方法
  • php中cookie的值存储在哪
  • php怎么变成txt
  • 服务费开票税收分类
  • python如何运行
  • 事业单位成本核算具体指引—公立医院
  • 增值税药品发票明细
  • 设备转固的前提条件
  • 以股权入资该怎么办
  • 增值税的视同销售行为有哪些?
  • 城投公司政府购买服务
  • 单位的车辆
  • 报表其他非流动资产
  • 网上打印的银行流水有公章吗
  • 收付实现制与权责发生制的例题
  • 收到专票可以不签字吗
  • 绿化补偿标准
  • mysql无法连接10055
  • centos6yum源
  • 苹果电脑 输入
  • win8wifi受限
  • win10改用microsoft账户登录
  • 怎么删除swapfile
  • 关闭win7屏保
  • xp专业版激活工具
  • win7访问共享文件
  • WIN10系统如何修复
  • windows7文件操作步骤
  • 无线和网络飞行模式
  • linux计划任务如何设置
  • win8系统修复在哪里
  • shell脚本中执行命令语句
  • activity的跳转
  • python语言解析
  • 电子税务局登录不上,显示用户名不匹配
  • 材料费增值税发票几个点
  • 武汉市国家税务总局第二稽查局
  • 医保漏缴如何补交
  • 地税局热线电话是多少
  • 税务非正常户要提交什么资料
  • 报税日期2023年
  • 美国税务人员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设