这次为大家带来了另一个PHP压缩扩展。当然,它也是一种非常冷门的压缩格式,所以用的人比较少,而PHP中提供的相关函数只是对字符串进行编解码,不会对文件进行操作。因此,就像Bzip2一样,我们也可以利用它来进行一些加密传输操作。LZF扩展可以直接从phar.php.net下载安装,这也是正常的PHP扩展安装步骤。LZF压缩算法基于Lempel-Ziv并使用有限状态熵编码。LZF使用混合编码,如lz77和lzss。使用3种“开始标记”来表示每个输出段的数据串。关于LZF压缩的资料非常少,唯一的查询结果表明它是Apple开源的一种非常简单的字符压缩算法。基础函数使用$str="2014年世界杯将在举行。这是全世界所有球迷的盛会。我最喜欢的球队是西班牙队。我最喜欢的足球明星是迪迪埃·伊夫·德罗巴·泰比利。我希望中国队能在世界杯上取得好成绩。因为中国队以前从未赢得过世界杯。今年我希望情况会有所改变。比赛开始时,我希望我能观看。但是如果我忙于学习那我就不看了,因为学习永远是第一位的,希望有一天中国能举办世界杯,那时候我们中国人不用出国也能看比赛,说不定有一天我的梦想可以实现。";$c=lzf_compress($str);echo$c,PHP_EOL;//2014年世界杯即将开始。对于*tBfootb@//粉丝*over`w@X.My//voriteteam来说这是一个盛大的时刻@Q@8西班牙文T.A_m?)?Vstar@2DidiWYvesDrogbaTébily.I?p\?Chchange。我们能做吗?@??.Becau)@1a有ne@?w?a?'!?e.Thye?msituatAa9//When`omatchCgins,?;I`?w`it.Bu!ff!busy?udying@Bn`]not?2?s@)Aalways@0firstpriAsAwAeoneday?Aa??????!"nour`%AG@'????!witho?go@?abroad@?May"=?i!?dr!?`Dcom!?rue.$v=lzf_decompress($c);echo$v,PHP_EOL;//2014年世界杯将在.举行。这是全世界所有球迷的盛会。我最喜欢的球队是西班牙队。我最喜欢的球星是迪迪埃YvesDrogbaTébily.我希望中国队能在世界杯上取得好成绩。因为中国以前从未赢得过世界杯。今年我希望情况会有所改变。//比赛开始时,我希望我能观看。但是如果我忙于学习,我就不看。因为学习永远是第一位的。希望有一天中国能举办世界杯,我们中国人不用出国也能看比赛。echolzf_optimized_for(),PHP_EOL;//1//如果LZF针对速度进行了优化,则返回1;对于压缩,则返回0LZF全部就只提供了这三个非常简单的函数。lzf_compress()用于压缩和编码字符串。可以看出我们输出的压缩内容已经变成了乱码。但是相对于Bzip2完全看不懂的编码内容,LZF可以看到部分原文。lzf_decompress()用于解码编码的字符串内容。lzf_optimized_for()输出LZF扩展的编译运行状态。如果它返回1,则表明它针对当前系统的速度进行了优化。如果返回0,表示只是压缩编码。中文支持$str="现在我们站长做网站会越来越多的选择服务器,而不是虚拟主机。但是选择服务器后,我们大部分网友会直接使用宝塔面板,LNMP等来安装WEB系统一键配置网站环境有些软件确实持续升级维护,安全功能做的很好,但有些可能没有考虑安全问题。因为大部分软件商更多的是考虑功能,做安全是为了细节还是不行,比如前段时间,由于THINKPHP框架的漏洞,安装THINKPHP的程序被黑了,而且还影响了同一台服务器的其他网站被黑,所以安全问题还是有待解决dealedseparately";$c=lzf_compress($str);echo$c,PHP_EOL;//现在我们站长在做web的时候会越来越多的选择服务器而不是虚拟主机。但是2、8之后,大部分q了一些软件。5.@??,升级维护和全功能A系统配置H环境。?>问题?//因为所有提供者都比较^?C`|p//详情,[??@y??和以前一样就够了!!//THINKPHP框架。前阵子由A//漏洞导致U!J?"//程序被黑W也影响@??!??台湾。//?aL?He?=?A`DdropGso?s!d?%?//需要单独处理$v=lzf_decompress($c);echo$v,PHP_EOL;//现在我们网站站长越来越多的选择服务器而不是虚拟主机,但是选择之后一台服务器,我们大多数网友会直接使用宝塔面板,LNMP等安装WEB系统来配置网站环境,有些软件确实在不断升级维护,安全功能做的很好,但有些可能没有有考虑过安全问题。//因为大部分的软件提供商都比较注重功能,对于细节的安全性做的不够。比如前段时间,由于THINKPHP框架存在漏洞,安装THINKPHP的程序被被黑了,同时也影响了同一台服务器上的其他人,网站也被黑了,所以安全问题还是需要sepa处理很快。当然,LZF对中文的支持也很好。同样,一些内容在编码内容中是可见的。综上所述,只有这三个函数是一种非常简单方便的压缩算法的扩展。上面说了,一是为了节省字符串的存储空间,二是为了对某些传输进行加密。当然这个算法并不是完全编码,所以我们还是可以看到原文的内容。事实上,我们可以在这方面将其与Bzip2进行比较。bzip2是二进制编码的,所以编码后的内容完全是乱码。而LZF是非二进制的,采用了熵算法的压缩算法,自然有很多肉眼可见的内容。最终还是要看我们的业务形态来决定使用哪种具体的压缩扩容工具。测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/202006/source/PHP%E7%9A%84LZF%E5%8E%8B%E7%BC%A9%E6%89%A9%E5%B1%95%E5%B7%A5%E5%85%B7.php参考文档:https://www.php.net/manual/zh/book.lzf.phphttps://www.cnblogs.com/pengze0902/p/5998843.html各媒体平台均可搜索【硬核项目经理】
