参考资料 http://zhiwei.li/text/2013/04/%E7%94%A8zlib%E8%A7%A3%E5%8E%8B%E7%BC%A9gzip/ http://www.php.net/manual/en/function.gzencode.php http://stackoverflow.com/questions/621976/which-compression-method-to-use-in-php gzencode 建立一个gzip
参考资料
http://zhiwei.li/text/2013/04/%E7%94%A8zlib%E8%A7%A3%E5%8E%8B%E7%BC%A9gzip/
http://www.php.net/manual/en/function.gzencode.php
http://stackoverflow.com/questions/621976/which-compression-method-to-use-in-php
gzencode 建立一个gzip压缩的字符串
$encodingmode = FORCEGZIP 默认为强制gzip
产生的压缩数据 同 Linux下的gzip命令 兼容
$level = -1
0为不压缩
9最强压缩率
不指定,就使用zlib库的默认压缩率
在PHP 5.4.0 之前, 使用 FORCE_DEFLATE , 输出是, 在一个gzip文件头之后, 没有crc32校验, 然后是 标准的zlib压缩数据(包括zlib头)
立即学习“PHP免费学习笔记(深入)”;
在PHP 5.4.0及其之后, FORCE_DEFLATE输出一个 RFC1950兼容的数据(包含zlib头, 压缩数据, 以及一个adler校验)
gzip格式,用于文件压缩,能保存原始文件名和最后一次修改日期等信息
gzdeflate
使用DEFLATE数据格式 压缩, 使用DEFLATE算法, 是其他格式的基础
$encoding = ZLIBENCODINGRAW
这个函数生成纯粹的压缩数据,没有任何 头部信息和CRC信息
gzcompress
使用ZLIB 格式, 它含有简单的头部信息.
iWebShop是一款基于PHP语言及MYSQL数据库开发的B2B2C多用户开源免费的商城系统,系统支持自营和多商家入驻、集成微信商城、手机商城、移动端APP商城、三级分销、视频电商直播、微信小程序等于一体,它可以承载大数据量且性能优良,还可以跨平台,界面美观功能丰富是电商建站首选源码。iWebShop开源商城系统 v5.14 更新日志:新增商品编辑页面规格图片上传优化商品详情页面规格图片与主图切
0
设计来在内存中使用,或者进程间通信, 有一个精简的头部和尾部信息, 并使用比gzip更快的完整性校验算法
头部是2个字节,尾部是4个字节
————–对于http协议中的gzip, 就是使用gzcompress和gzuncompress来压缩和解压缩
网上一个谬误,就是这3套函数,使用不同的算法,gzcompress使用的是什么GZIP 算法,
其实这套函数,都是使用同一套压缩算法,DEFLATE算法.
区别是gzdeflate纯压缩,没有任何头部信息
gzcompress有简单的头部信息和尾部校验
gzip有比较完整的头部信息和校验,适合于文件压缩
那种比较这3套函数的压缩率的人,纯粹是无知得滑稽可笑….
另外 pkzip格式也是使用这套算法,只不过文件头部格式的定义,跟gzip不一样
另外,在Java中也存在这种区别, GZIPOutputStream 产生的是 gzip命令兼容的格式, 要用gzdecode()才能正确解压缩
DeflaterOutputStream 产生的 ZLIB格式, 用gzuncompress解压缩
原文地址:PHP的gzencode和gzdeflate以及gzcompress, 感谢原作者分享。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号