首页 > 代码库 > 短网址
短网址
思路一:
<?phpfunction shorturl($url=‘‘) {$base = array ( "a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" , "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" , "u" , "v" , "w" , "x" , "y" , "z" , "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z");$hex = md5($url);$hexLen = strlen($hex);$subHexLen = $hexLen / 8;$output = array();for ($i = 0; $i < $subHexLen; $i++) { $subHex = substr ($hex, $i * 8, 8); $int = 0x3FFFFFFF & (1 * (‘0x‘.$subHex)); $out = ‘‘; for ($j = 0; $j < 6; $j++) { $val = 0x0000003D & $int;//因为6个字符的每个字符有26+26+10个组合 $out .= $base[$val]; $int = $int >> 5;//取$int30位长度,每次右移5位,正好可以得到6个组 } $output[] = $out; } return $output;}$urls = shorturl(‘http://www.php100.com‘);echo "<pre>";var_dump($urls);exit();?>
思路二:
另一种是存数据库中,取自增ID,进行10=》62进制转换,结果为短网址,访问时再从数据库取得真实地址。
短网址
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。