php 生成短网址原理及代码

 更新时间:2014年01月23日 17:05:11   作者:  
将原网址做crc32校验,得到校验码,使用sprintf将校验码转为无符号数字,详细步骤请看本文
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。

代码如下:
复制代码 代码如下:

/** 生成短网址
* @param String $url 原网址
* @return String
*/
function dwz($url){

$code = sprintf('%u', crc32($url));

$surl = '';

while($code){
$mod = $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;

}

相关文章

  • php+Memcached实现简单留言板功能示例

    php+Memcached实现简单留言板功能示例

    这篇文章主要介绍了php+Memcached实现简单留言板功能,结合实例形式较为详细的分析了php结合memcached实现留言板的具体步骤与相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • PHP模板解析类实例

    PHP模板解析类实例

    这篇文章主要介绍了PHP模板解析类,涉及php针对模板文件的解析与字符串处理的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php使用curl实现简单模拟提交表单功能

    php使用curl实现简单模拟提交表单功能

    这篇文章主要为大家详细介绍了php使用curl实现简单模拟提交表单功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • PHP setcookie设置Cookie用法(及设置无效的问题)

    PHP setcookie设置Cookie用法(及设置无效的问题)

    平时用Session比较多,很少用到Cookie,这次是为了解决Discuz!自动同步登陆不得不用Cookie。
    2011-07-07
  • php 执行系统命令的方法

    php 执行系统命令的方法

    在一个项目里用到这样的东西,用另外一个服务做了一些事情,生成的文件权限,通过php 无法读取,测试了很多种方式都没能实现,在网上找了下,可以用c写一个代理来实现,本人就实现了一下,果真可以。
    2009-07-07
  • PHP中HTML标签过滤技巧

    PHP中HTML标签过滤技巧

    htmlspecialchars()函数的过滤效果始终不如strip_tags()函数的过滤效果好,下面有个不错的方法,感兴趣的朋友可以参考下,希望对大家有所帮助
    2014-01-01
  • PHP Zip解压 文件在线解压缩的函数代码

    PHP Zip解压 文件在线解压缩的函数代码

    PHP在线解压缩Zip 文件函数代码,需要在线zip解压的朋友可以参考下。
    2010-05-05
  • php自定义加密与解密程序实例

    php自定义加密与解密程序实例

    这篇文章主要介绍了php自定义加密与解密程序,实例分析了自定义加密解密类文件及相关用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • PHP实现的加密解密处理类

    PHP实现的加密解密处理类

    这篇文章主要介绍了PHP实现的加密解密处理类,结合实例形式分析了php加密解密类的定义与使用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP求小于1000的所有水仙花数的代码

    PHP求小于1000的所有水仙花数的代码

    PHP求小于1000的所有水仙花数的代码,需要的朋友可以参考下。
    2012-01-01

最新评论