Ideas and implementation of generating short URLs in PHP

WBOY
Release: 2016-07-25 08:54:42
Original
1109 people have browsed it
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^/(.*)$ link.php?url=$1[L]
Copy code

implemented http://t.cn/link. php?url=zHEYrvV is converted to http://t.cn/zHEYrvV, which is much shortened. So how to find the URL http://bbs.it-home.org/sitejs-17300-1.html through zHEYrvV? And jump to this URL? An encryption-like algorithm is used here. Through the algorithm, all long URLs are shortened into a corresponding 5-6-digit and unique string, and this correspondence is stored in the database.

Combined with this example, we go to the database to find the corresponding URL according to the incoming parameter zHEYrvV. If we find it, we will jump to it with the header.

Share a PHP short URL generation code (here, the long URL is generated to a length of 5-6 characters and needs to be unique):

  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. }
Copy code

For example echo shorturl('http://bbs.it-home.org/'); A unique corresponding code will be generated.

For url rewriting methods, please refer to the article: php pseudo-static url rewriting simple example How to write php pseudo-static (url rewriting) How to quickly rewrite url in php5.3 or above version



source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!