可以跳过直接看最后一句话

公司想要发短信,短信里面有网址。所以产生短网址的想法。网上的好多借口感觉都不是很靠谱。大厂的接口都关闭了,阿里云短信短网址接口不是永久的。所以想自己搞一个。虽然这个项目最后没有实施但是我觉得这个短网址是很有必要的搞一搞。

网上的主要是两个算法。一个是62进制id递增算法。我就打算用这个来做目前还没有做成功

只记录一下代码

//生成短网址 
function code62($x){
    $str = "se9rFivUxQWZnDflm30Kp1bXyYGjkBquRoCd2aI6JAShONHMwz58Pc7LtT4VgE";
    $str = str_split($str);
    $show='';
    while($x>0){
        $s=$x % 62;
        $show=$str[$s].$show;
        $x=floor($x/62);
    }
    return $show;
}

有一点儿略好的地方就是比id自增的哪个稍微好那么一nienie;

首先是 0-9a-zA-Z的62个字符的随机排列。这个作为最主要的东西。

然后根据id自增来转换62进制字符串。

如果想生成最少6位的字符串的话就在这个$x 的基础上 + 62 的 n 次方就ok了吧。先记录以后用。


这个可以作废了 composer 查一下 hashids 比较 niubility