文档章节

PHP 实现短url代码

刘德生
 刘德生
发布于 2014/06/02 17:14
字数 123
阅读 894
收藏 4

<?php


function shortUrl($url)

{

$md5_str = md5($url);

$md5_arr = str_split($md5_str,16);

$ret = array();

$seed_arr = array_merge(range('a','z'),range(0,9),range('A','Z'));

$seed_len = count($seed_arr);


foreach($md5_arr as $str){

 $bin = strTobin($str);

 $bin_len = strlen($bin);

 $avg_len = ceil($bin_len/6);

 $bin_arr = str_split($bin,$avg_len);

 $tmp_str = '';

 foreach($bin_arr as $bin){

 $index = bindec($bin)%$seed_len;

 $tmp_str .= $seed_arr[$index];

 }


 $ret[] = $tmp_str;


}


print_r($ret);


 }




function strTobin($str)

{

$bin = '';

for($i=0,$len=strlen($str);$i<$len;$i++){

     $bin .= str_pad(base_convert($str{$i}, 16, 2),4,'0', STR_PAD_LEFT);

     }


     return $bin;

}

$url = 'http://wenku.baidu.com/link?url=rvpWe98e3D2-W70FO6G_LB2WyElgeTNsGwKWSakl5MJu-EaVPd5r39l7-5ngTNdxi2Yp1FX6A4-neb-MNKCApJKwl9tVYkCN4lMpxuHBvdq';

shortUrl($url);


© 著作权归作者所有

刘德生
粉丝 6
博文 31
码字总数 7876
作品 0
海淀
高级程序员
私信 提问
微博URL短网址生成算法原理及(java版、php版实现实例)

短网址(Short URL),顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代...

小老傅
2014/08/20
3.9K
5
微博短链接解析ShortUrl【PHP代码实现】

一、背景简介 短网址应用已经在各大微博上开始流行了起来。例如QQ微博的url.cn,新浪的sinaurl.cn等。我们在QQ微博上发布网址的时候,微博会自动判别网址,并将其转换,例如:http://url.cn...

幸福的猫猫
2013/03/07
885
1
URL短地址压缩算法 微博短地址原理解析 (Java实现)

最近,项目中需要用到短网址(ShortUrl)的算法,于是在网上搜索一番,发现有C#的算法,有.Net的算法,有PHP的算法,就是没有找到Java版的短网址(ShortUrl)的算法,很是郁闷。同时还发现有...

神勇小白鼠
2014/07/29
804
0
《Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务》

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的:
09/23
0
0
php curl 获取google短地址问题解决

我们有个类微博应用 背景:测试员说其发表内容中链接应该是可点击的短链接 简单调试发现:在本地和服务器上都能获取到链接的短地址,唯独内网的测试地址: 192.168.1.111:81/app 不能获取短地...

qingfeng哥
2012/11/13
766
0

没有更多内容

加载失败,请刷新页面

加载更多

灰度控制,比较两个版本

/** * 比较version1和version2的版本大小 * @param version1 * @param version2 * @param splitStr * @return * 返回version1-比较结果-version2 */public static CompareRe...

春哥大魔王的博客
23分钟前
4
0
Jsoup analysis THML

Jsoup是一款HTML解析器,通过它可以解析获取到URL、HTML等中的某些内容, 它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 依赖: org.jsoup jsou...

东方神祇
24分钟前
4
0
Spring Boot 2 实战:根据条件来自动配置不同逻辑的Bean

1. 前言 我们经常会有根据条件来加载不同的接口。比如你查询目录下文件列表, Windows 下你会用 CMD 的 dir 命令,而 Linux 下你会使用 ls 命令。 熟悉 Spring Boot 自动配置的也知道 Spring...

码农小胖哥
27分钟前
4
0
PCB设计-Allegro软件入门系列-焊盘的构成和用途(1)

Allegro软件入门最难的就是焊盘制作,而一个贴片焊盘都至少包括一个顶层如Top、钢网层pastemask_top、阻焊层(也就是人们常说的开窗层)sodermask_top,而一个插件焊盘就比贴片多了一个中间层和...

demyar
32分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部