实现PHP生成短网址
围观: 1175 讨论: 4

  实现PHP生成短网址[复制链接]

[文章目录]

还是记录
哈哈,
这个功能主要用在我音乐收藏中
变短而且也查看源码码搜索不到mp3字样咯,
毕竟我都是解析网易音乐添加数据库的,

原理

短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,
当请求某个短网址时,
程序跳转到对应的实际网址上去,
从而实现网址的访问.

生成短网址

 
  1. function code62($x){  
  2.     $show='';  
  3.     while($x>0){  
  4.         $s=$x % 62;  
  5.         if ($s>35){  
  6.             $s=chr($s+61);  
  7.         }elseif($s>9&&$s<=35){  
  8.             $s=chr($s+55);  
  9.         }  
  10.         $show.=$s;  
  11.         $x=floor($x/62);  
  12.     }  
  13.     return $show;  
  14. }  
  15. function shorturl($url){  
  16.     $url=crc32($url);  
  17.     $result=sprintf("%u",$url);  
  18.     return code62($result);  
  19. }  

使用以上PHP代码可以生成唯一的6位的短网址,
然后我们将生成的短网址与原网址一起写入到MySQL表中,
插入数据库的代码这里我就不写了,
这是PHP基础.

建立url.php跳转文件

 
  1. $url = $_GET['url'];  
  2. if(isset($url) && !emptyempty($url)){  
  3.     $sql = "select url from shorturl where codeid='$url'";  
  4.     $query = mysql_query($sql);  
  5.     if($row=mysql_fetch_array($query)){  
  6.         $real_url = $row['url'];  
  7.         header('Location: ' . $real_url);  
  8.     }else{  
  9.         header('HTTP/1.0 404 Not Found');  
  10.         echo 'Unknown link.';  
  11.     }  
  12. }else{  
  13.     header('HTTP/1.0 404 Not Found');  
  14.     echo 'Unknown link.';  
  15. }  

完成

代码中,如果得到短网址对应的真实url,
会使用header跳转到真实的页面上去,
否则返回404代码.
这样我们可以使用如:http://yourdomain/url.php?url=xxx来实现短网址访问.

本文标签:

本文链接: https://crazyus.us/short_name.html

站长声明: 请尊重版权,转载注明出处,谢谢配合!
[查询收录]

既然来了/ 就点击这里 / 留个言吧

发表评论

取消 回复时邮件通知我
I'm really enjoying the theme/design of your blog.
Do you ever run into any web browser compatibility problems?
A number of my blog readers have complained about my blog not working correctly in Explorer but looks
great in Chrome. Do you have any recommendations to help fix this issue?
@dying light pc:This can only be adjusted slowly.
如果把插入数据库这一步也写出来那教程就完美了~
@龙笑天: 呃,  现在解析,都是有时间限制的,数据库没啥用了

Sitemap

网站已存活运行:433 天, 执行: 1.78毫秒

Powered By Emlog

© 2017~2019 疯狂老司机™ 本模板还在开发阶段