找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 811|回复: 0
打印 上一主题 下一主题

php 生成短网址原理及代码

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 06:01:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            php 生成短网址
原理:
1.将原网址做crc32校验,得到校验码。
2.使用sprintf('%u') 将校验码转为无符号数字。
3.对无符号数字进行求余62操作(大小写字母+数字等于62位),得到余数后映射到62个字符中,将映射后的字符保存。(例如余数是10,则映射的字符是A,0-9对应0-9,10-35对应A-Z,35-62对应a-z)
4.循环操作,直到数值为0。
5.将所有映射后的字符拼接,就是短网址后的code。
代码如下:
[U]复制代码[/U] 代码如下:
/** 生成短网址
* @param String $url 原网址
* @return String
*/
function dwz($url){
$code = sprintf('%u', crc32($url));
$surl = '';
while($code){
$mod = $code % 62;
if($mod>9 && $mod35){
$mod = chr($mod + 61);
}
$surl .= $mod;
$code = floor($code/62);
}
return $surl;
}
            
            
您可能感兴趣的文章:
  • php生成短网址示例
  • 一个php短网址的生成代码(仿微博短网址)
  • php实现的短网址算法分享
  • PHP生成短网址的3种方法代码实例
  • php短网址和数字之间相互转换的方法
  • C# URL短地址压缩算法及短网址原理解析
  • 两种JAVA实现短网址服务算法
  • php简单实现短网址(短链)还原的方法(测试可用)
  • PHP生成短网址方法汇总
  • PHP将URL转换成短网址的算法分享
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端