原理:
1.将原网址做crc32校验,得到校验码。
2.使用sprintf('%u') 将校验码转为无符号数字。
3.对无符号数字进行求余62操作(大小写字母+数字等于62位),得到余数后映射到62个字符中,将映射后的字符保存。(例如余数是10,则映射的字符是A,0-9对应0-9,10-35对应A-Z,36-61对应a-z)
4.循环操作,直到数值为0。
5.将所有映射后的字符拼接,就是短网址后的code。
代码如下:
/** 生成短网址 * @param String $url 原网址 * @return String */ function dwz($url){ $code = floatval(sprintf('%u', crc32($url))); $surl = ''; while($code){ $mod = fmod($code, 62); if($mod>9 && $mod<=35){ $mod = chr($mod + 55); }elseif($mod>35){ $mod = chr($mod + 61); } $surl .= $mod; $code = floor($code/62); } return $surl; }
demo:
<?php echo dwz('http://blog.csdn.net/fdipzone'); //rs5U24 ?>
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/PHP/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数字
, 字符
, 短网址
, mod
, 网址
, dwz 数字
, code
, 短网址 网址
, 创建短网址
, php短网址源码
, PHP生成短网址
, 短代码
, 求crc32值
余数
短网址生成原理、短网址生成原理是什么、代码生成器原理、编译原理中间代码生成、java代码生成器原理,以便于您获取更多的相关知识。