php生成短网址的思路与方法(推荐)

生成短网址的思路以及使用php生成短网址的实现方法。

生成短网址的思路:如果把短网址还原了,你知道是个什么样子的吗?比如:
http://www.jbxue.com/sitejs-17300-1.html
对于以上这个链接,除了直接打开之外,还有一种方法打开它,如下:
http://www.
jbxue.com/link.php?url=http://www.jbxue.com/sitejs-17300-1.html
好了,短网址还原了实际就是这个样子的了,可能你看到新浪微博应用里面的短网址都是这个样子:
http://t.cn/zHEYrvV
其实他还原了说不定就是这个样子:
http://t.cn/link.php?url=http://www.jbxue.com/sitejs-17300-1.html
好了,这里就说到第二步了,如何将
http://t.cn/link.php?url=http://www.jbxue.com/sitejs-17300-1.html
缩成
http://t.cn/zHEYrvV
这个地方需要用到url重写,按照本例则可以这么重写:
RewriteEngine
On
RewriteBase /
RewriteRule ^/(.*)$ link.php?url=$1[L]
这里就实现了将
http://t.cn/link.php?url=zHEYrvV 转换为了 http://t.cn/zHEYrvV ,缩短了不少,那么如何通过 zHEYrvV
去查找到 http://www.jbxue.com/sitejs-17300-1.html
这个网址并跳到这个网址上去呢?这里就用到了一个类似加密的算法了,通过算法将所有的长网址缩短成一个对应的5-6位的并且唯一字符串,并将这个对应关系存入到数据库中去。结合本例就是根据传入的参数
zHEYrvV 到数据库中去找对应的网址,找到了就 header 跳转过去。
ok,至于生成短网址的思路就是这个样子的了。

通过php生成短网址的那个过程(这里将长网址生成短至5-6位字符长度并且还需要是唯一的):


<?php
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);
}
return $show;
} // www.jbxue.com
function shorturl($url){
$url=crc32($url);
$result=sprintf("%u",$url);
return code62($result);
}

比如

echo shorturl(‘http://www.jbxue.com/‘);
将生成的一个唯一对应码为 n2Q8e 。

参考文章:

时间: 2024-10-13 17:07:57

php生成短网址的思路与方法(推荐)的相关文章

t.cn短网址怎么生成?利用新浪短链接转化器生成永久短网址的几种方法

不管是在短信中,还是社交软件中(如微信.QQ等),经常能看到开头为t.cn格式的链接出现,其实这是新浪微博提供的短网址服务,下面详谈t.cn短链接的前世今生,并附上几种短网址制作方法. 1.新浪短网址的来历 t.cn新浪短网址,格式为http://t.cn/xxxxx ,是新浪微博与2011年3月23日启用t是新浪微博与2011年3月23日启用t.cn作为微博内容中的网址链接跳转的缩短服务,不再使用原来的短链接域名sinaurl.cn. 新的短网址域名比原来的sinaurl.cn缩短6个字符,这

仿微博php生成短网址

html code <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>urlShort</title> </head> <body> <form action="urlShort.php" method="post"> <

php生成短网址

<?php /**  * Created by PhpStorm.  * User: yangyulong/[email protected]  * Date: 2015/5/28  * Time: 15:55  */ function shortUrl($url){     $base32 = array (         'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',         'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p

php短网址算法实例代码分享

php实现的短网址算法,理论上支持1,073,741,824个短网址. 每个网址用6个字符代替,(6^32) 最多可以拥有1,073,741,824个短网址.当然,你还可以记录更详细的信息,如访问记录,创建时间等.如果真不够用了,还可以删掉很久不用的. function shorturl($input) { $base32 = array ( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p

php 两种短网址生成方法

使用以下PHP代码可以生成唯一的6位的短网址. 代码如下: 1 <?php 2 3 4 //生成短网址方法1 5 function shortUrl1($url) 6 { 7 if (empty($url)) { 8 return FALSE; 9 } 10 $url = crc32($url); 11 $crc32 = sprintf("%u", $url); 12 $show = ''; 13 while ($crc32 > 0) { 14 $s = $crc32 %

PHP生成短连接的方法

PHP生成短连接的方法.md 直接贴上方法,函数可以查看手册. <?php /** 生成短网址 * @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($mo

短网址生成和还原工具使用教程

功能简介:这款工具支持一键生成新浪(t.cn).腾讯(url.cn).微信(w.url.cn)等各种短网址,同时会生成短链接二维码(可直接下载保存).生成的结果可用于社交媒体.个人签名.网络营销.线下推广等其他场合.另外,工具还提供了通过短网址反查原URL的功能.可将我们输入的短网址还原成真实的网址,支持还原t.cn.url.cn.dwz.cn等国内外300多种短网址. 工具地址:https://shorturl.iiilab.com/ 使用方法: 1. 首先介绍如何生成短网址.在浏览器中打开上

腾讯短网址(url.cn短链接)生成接口API推荐

简要描述 腾讯短网址(url.cn短链接)生成api接口是腾讯官方对外公开的短网址生成接口,可以将一个冗长的链接缩短成10个字符以内的短链接. 应用场景 腾讯短网址的应用场景很广,譬如短信营销.邮件推广.微信营销.QQ营销.自媒体推广.渠道推广等,都会用到短网址.究其原因是在于短网址可以降低推广成本.用户记忆成本,提高用户点击率:在特定的场景下推广还能规避关键词,防止域名被拦截,隐藏真实地址等. 腾讯短网址接口 格式一:http://qturl.cn/urldwz/api.html?url=ht

怎样使用新浪短网址进行网址缩短-推荐15个在线生成工具

新浪短网址服务是目前互联网上最稳定.最安全.最快速的短网址服务,帮您把冗长的URL地址缩短成8个字符以内的短网址. 1.冷狗短链接 平台官网:http://dogdwz.cn/ 冷狗短链接那边提供最新的新浪T.CN短链接在线生成服务,每天都可以去免费生成新的微博T.CN短网址,他们采用的是新浪微博的官方的原生态生成接口,安全.稳定.一次生成永久使用.. 2.麦云短链接 平台官网:http://maiyurl.cn/ 麦云短链接的官网也是可以免费生成短链接的,但是他们的专长是帮助其他平台对接新浪t