判断字符串是否需要压缩,然后再进行压缩,需要优化的地方很多,比如把压缩结果保存起来,避免执行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); } }
<?php /** * 将base64字符串创建为图片文件 * @param string $base64 base64原始字符串 * @param string $path&...
//参数1 文件名 参数2 缩放比例 function _thumb($_filename,$_percent){ ob_clean();...
首先看看以下代码:代码1:<?php $a=0.1; $b=0.7; if($a+$b==0.8) { echo "1"; } else{ echo "2"; } ?>代码2:<?php &n...
在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
当我想在一个进程中监听kill 和 kill -9命令报了这个错误。//监听kill pcntl_signal(SIGTERM, function () { posix_kill(0, SIGTERM); });...