网址缩短修改

时间:2009-08-01 04:49:41

标签: php

我正在使用php url shortener,我的问题是它只创建最多2个字符的MAX数量的缩短代码(例如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;
    }

我吵了一棵错误的树吗?

1 个答案:

答案 0 :(得分:2)

为什么不用http://www.pgregg.com/projects/php/base_conversion/base_conversion.inc.phps编码数据库中URL的ID。

使用示例:

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