论坛 魔众短链接系统 短链接系统遇到链接长度太短问题

短链接系统遇到链接长度太短问题

魔众 发表于 阅读:192 回复:

修改数据库长度

短连接系统中问题内容使用的是 MySQL 的 varchar(400) 字段存储,该字段最多会存储 400 个字符(汉字占三个字符)。

在遇到缩短链接超长时,会自动截断调整。可通过以下 MySQL 来调整字段类型来适应更多的字符。

## 修改为最长支持2000长度
ALTER TABLE `link` MODIFY `url` VARCHAR(2000);

修改代码判断

除此之外,还需要修改文件中的长度判断,修改文件 module/ShortLink/Util/LinkUtil.php 中的 generate 函数

原内容

class LinkUtil
{
    // ...
    public static function generate($memberUserId, $urlBase, $url, $minutes = 0)
    {
        if (strlen($url) > 400) {
            return Response::generateError('链接最大长度为400');
        }
        // ...
    }
    // ...
}

修改为

class LinkUtil
{
    // ...
    public static function generate($memberUserId, $urlBase, $url, $minutes = 0)
    {
        if (strlen($url) > 2000) {
            return Response::generateError('链接最大长度为2000');
        }
        // ...
    }
    // ...
}


我来评论