短URL实现

<?php

/**

* Created by PhpStorm.

* User: yangyulong/[email protected]

* Date: 2015/5/28

* Time: 15:55

*/

functionshortUrl($url){

$base32=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‘

);

$hex= md5($url);

$hexLength=strlen($hex);

$subHexLen=$hexLength/ 8;

$output=array();

for($i= 0;$i<$subHexLen;$i++) {

//每循环一次取到8位

$subHex=substr($hex,$i* 8, 8);

$int= 0x3FFFFFFF & (1 * (‘0x‘.$subHex));

$out=‘‘;

for($j= 0;$j< 6;$j++) {

$val= 0x0000001F &$int;

$out.=$base32[$val];

$int=$int>> 5;

}

$output[] =$out;

}

return$output;

}

functionshortUrl2($url){

$result= sprintf("%u",crc32($url));

$show=‘‘;

while($result >0){

$s=$result% 62;

if($s> 35){

$s=chr($s+61);

}elseif($s>9 &&$s<=35){

$s=chr($s+55);

}

$show.=$s;

$result=floor($result/ 62);

}

return$show;

}

echoshortUrl2(‘http://baidu.com‘);

时间: 2024-10-13 20:07:38

短URL实现的相关文章

短URL代码也可利用百度API生成

案例:客户签收后,系统会回复一条短信给客户及一个点评服务的链接,由于链接过长,短信会自动截断,所以使用短链的方式发送. 代码如下: public string GetTinyUrl(string strLongUrl)    {        try        {            byte[] postData = Encoding.UTF8.GetBytes("url=" + strLongUrl);            var url = "http://dw

SharePoint 2010 Url Shortener --SharePoint 2010 短URL生成器

SharePoint 2010 Url Shortener --SharePoint 2010 短URL生成器 项目描写叙述 本项目加入了这种功能.在SP站点中能够生成短URLs. 这些URLs指向列表或文档. 比如http://smallville-pc/url/nnefhmo. 本项目的目的是同意用户创建短URLs.指向文档或列表/库,这样能够轻松分享. wsp下载地址(免积分) SharePoint 2010 短URL生成器 部署方法 參照部署.收回和删除解决方式----STSADM和Po

Go实现短url项目

首先说一下这种业务的应用场景: 把一个长url转换为一个短url网址 主要用于微博,二维码,等有字数限制的场景 主要实现的功能分析: 把长url的地址转换为短url地址 通过短url获取对应的原始长url地址 相同长url地址是否需要同样的短url地址 这里实现的是一个api服务 数据库设计 数据库的设计其实也没有非常复杂,如图所示: 这里有个设置需要主要就是关于数据库表中id的设计,需要设置为自增的并且这里有个问题需要提前知道,我们的思路是根据id的值会转换为62进制关于进制转换的代码为: /

django简单实现短url

一.短url的原理 什么是短url: 简单讲就是把普通正常访问的网址,转换成比较短的网址,例如:https://www.cnblogs.com/angelyan/articles/10667354.html#_label0 转成https://dwz.cn/p8VGVkMt 作用优点:短,字符少,美观,便于发布,传播,突破某些平台限制 原理步骤: 1.浏览器解析DNS,获取域名对应的ip 2.获取ip,发送http请求,获取p8VGVkMt对应的长链接地址 3.http通过301重定向,转到对应

php 生成短URL的算法

function code62($x){     $show='';     while($x>0){         $s=$x % 62;         if ($s>35){             $s=chr($s+61);         }elseif($s>9&&$s<=35){             $s=chr($s+55);         }         $show.=$s;         $x=floor($x/62);    

[LeetCode] 535. Encode and Decode TinyURL 编码和解码短URL

Note: This is a companion problem to the System Design problem: Design TinyURL.TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9iAk

微博URL短网址生成算法原理及(java版、php版实现实例)

短网址(Short URL),顾名思义就是在形式上比较短的网址.通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接. 例如:http://t.cn/SzjPjA 短网址服务,可能很多朋友都已经不再陌生,现在大部分微博.手机邮件提醒等地方已经有很多应用模式了,并占据了一定的市场.估计很多朋友现在也正在使用. 看过新浪的短连接服务,发现后面主要有6个字符串组成,于是第一个

C#如何实现url短地址?C#短网址压缩算法与短网址原理入门

c# url短地址压缩算法与短网址原理的例子,详细介绍了短网址的映射算法,将长网址md5生成32位签名串,分为4段,每段8个字节,然后生成短网址,具体见文本实例. 短网址映射算法: 将长网址md5生成32位签名串,分为4段,每段8个字节:对这四段循环处理,取8个字节,将他看成16进制串与0x3fffffff(30位1)与操作,即超过30位的忽略处理:这30位分成6段,每5位的数字作为字母表的索引取得特定字符,依次进行获得6位字符串:总的md5串可以获得4个6位串:取里面的任意一个就可作为这个长u

用PHP实现URL转换短网址的算法示例

短网址就是把一个长的地址转换在超级短的网址,然后访问短网址即可跳转到长网址了,下面来看用PHP实现URL转换短网址的算法与例子. 短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接. 算法原理 1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(