当前位置:首页 > PHP > 正文内容

php字符串压缩工具

高老师3年前 (2024-03-15)PHP1085

判断字符串是否需要压缩,然后再进行压缩,需要优化的地方很多,比如把压缩结果保存起来,避免执行2次,判断是依赖于压缩的结果大小和原始字符串的大小来判断的,懒得处理了。代码如下

/**
 * 字符串压缩工具
 */
class CompressStrUtil
{

    /**
     * 是否需要压缩
     * @param $str
     * @return bool
     */
    public static function need($str): bool
    {
        $oldLen = strlen($str);
        $newLen = strlen(self::enCompress($str));
        return $newLen < $oldLen;
    }

    /**
     * 压缩字符串
     * @param $str
     * @return false|string
     */
    public static function enCompress($str)
    {
        return gzcompress($str, 9);
    }

    /**
     * 还原字符串
     * @param $str
     * @return false|string
     */
    public static function deCompress($str)
    {
        return gzuncompress($str);
    }
}


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/732.html

分享给朋友:

“php字符串压缩工具” 的相关文章

php生成验证码

php生成验证码

<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9   a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...

composer自动加载类库(非psr4规范的文件)

composer自动加载类库(非psr4规范的文件)

在项目下的composer配置文件修改(PaySdk是我这里一个支付sdk的目录,包含各种各样的支付sdk,这样写的意思让composer自动把PaySdk下的所有文件自动加载):"autoload": {      &...

php elasticsearch基础使用

php elasticsearch基础使用

elasticsearch的操作都是基于http协议的,已经有现成的php类库,composer安装即可。{     "require": {        &...

php爬虫执行js,php执行js

php爬虫执行js,php执行js

当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...

php通过event扩展创建定时器,php毫秒级定时器

php通过event扩展创建定时器,php毫秒级定时器

PHP简单定时器可以通过pcntl_signal创建闹钟信号来实现。但是缺点很明显,性能一般,要自己实现守护进程,不支持毫秒级定时器,单进程不支持多个闹钟信号,不能跨平台运行event扩展支持的事件多,性能高。<?php //创建event配置.[空配置] $eventConfig ...

php curl Received HTTP code 403 from proxy after CONNECT

php curl Received HTTP code 403 from proxy after CONNECT

在调用微信code换openid的接口curl报错curl Received HTTP code 403 from proxy after CONNECT,错误码56。可以看到是curl的代理有问题。然后我自己电脑设置代理去访问curl请求的地址,的确也返回了403,说明代理不允许访问这个地址,联系...