Php url缩短器修改

Php url缩短器修改,php,Php,我正在使用一个php url缩短器,我的问题是它只创建最多2个字符的缩短代码(例如domain.com/XX)。我希望它最多5个字符(例如domain.com/XXXXX) 我相信我找到了相关的代码,但我不知道如何更改它以允许这种修改 function decode_url_id($code) { $scheme = "abcdefghijklmnoprstuqwxvyz0123456789ABCDEFGHIJKLMNOPRSTQWXUVYZ"; $

我正在使用一个php url缩短器,我的问题是它只创建最多2个字符的缩短代码(例如domain.com/XX)。我希望它最多5个字符(例如domain.com/XXXXX)

我相信我找到了相关的代码,但我不知道如何更改它以允许这种修改

function decode_url_id($code)
    {   
        $scheme = "abcdefghijklmnoprstuqwxvyz0123456789ABCDEFGHIJKLMNOPRSTQWXUVYZ";
        $scheme_size = strlen($scheme);

        $number  = 0;
        $code_size = strlen($code);
        $code = strrev($code);
        for($i = 0; $i < $code_size; $i++)
        {
            $digit_value = strpos($scheme, $code[$i]);

            $number += ($digit_value * pow($scheme_size, $i));
        }

        return $number;
    }

    function encode_url_id($number, $code="")
    {
        $scheme = "abcdefghijklmnoprstuqwxvyz0123456789ABCDEFGHIJKLMNOPRSTQWXUVYZ";
        $scheme_size = strlen($scheme);

        if ($number >= $scheme_size)
        {
            $c = $number % $scheme_size;
            $code .= $scheme[$c];
            $number = floor($number / $scheme_size);

            return encode_url_id($number, $code);
        }
        else 
        {
            $code .= $scheme[$number];
            $code = strrev($code);
        }

        return $code;
    }
函数解码url\u id($code)
{   
$scheme=“abcdefghijklmnoprstuqwxvyz0123456789ABCDEFGHIJKLMNOPRSTQWXUVYZ”;
$scheme\u size=strlen($scheme);
$number=0;
$code_size=strlen($code);
$code=strev($code);
对于($i=0;$i<$code\u size;$i++)
{
$digit_value=strpos($scheme,$code[$i]);
$number+=($digit_value*pow($scheme_size,$i));
}
返回$number;
}
函数encode\u url\u id($number,$code=”“)
{
$scheme=“abcdefghijklmnoprstuqwxvyz0123456789ABCDEFGHIJKLMNOPRSTQWXUVYZ”;
$scheme\u size=strlen($scheme);
如果($number>=$scheme\u size)
{
$c=$number%$scheme\u size;
$code.=$scheme[$c];
$number=楼层($number/$scheme\u size);
返回encode\u url\u id($number,$code);
}
其他的
{
$code.=$scheme[$number];
$code=strev($code);
}
返回$code;
}

我是不是找错树了?

为什么不在数据库中用

用法示例:

$new_url = base_base2base($link_id, 10, 62);

通常,您不会解码缩短的URL。只需将其作为密钥存储在数据库中。事实上,如果它根本无法解码,则更好,这样可以保护您的简短服务不被所有URL捕获。每次运行它时,它们是否必须编码为相同的缩短版本?还是以36为基数进行编码,避免使用大写和小写字母。