ホームページ  >  記事  >  バックエンド開発  >  PHP で短縮 URL を生成するアイデアと実装

PHP で短縮 URL を生成するアイデアと実装

WBOY
WBOYオリジナル
2016-07-25 08:54:421119ブラウズ
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^/(.*)$ link.php?url=$1[L]
コードをコピー

http://t.cn/link? url=zHEYrvV は、大幅に短縮された http://t.cn/zHEYrvV に変換されます。それでは、zHEYrvV を通じて URL http://bbs.it-home.org/sitejs-17300-1.html を見つけるにはどうすればよいでしょうか。このURLにジャンプしますか?ここでは暗号化のようなアルゴリズムが使用され、このアルゴリズムを通じてすべての長い URL が対応する 5 ~ 6 桁の一意の文字列に短縮され、この対応関係がデータベースに保存されます。

この例と組み合わせると、データベースに移動して、受信パラメーター zHEYrvV に従って対応する URL を見つけます。見つかった場合は、ヘッダーを使用してその URL にジャンプします。

PHP 短い URL 生成コードを共有します (ここでは、長い URL は 5 ~ 6 文字の長さで生成され、一意である必要があります):

  1. function code62($x){
  2. $show='';
  3. while($x>0){
  4. $s=$x % 62; ){
  5. $s=chr($s+61);
  6. }elseif($s>9&&$s $s=chr($s+55) }
  7. $show.=$s; ;
  8. $x=floor($x/62); }
  9. return $show;
  10. $url=crc32($url);
  11. $result=sprintf("%u") ,$url);
  12. return code62($result)
  13. コードをコピー
  14. 例 echo shorturl('http://bbs.it-home.org/'); 対応する一意のコードが生成されます。
URLの書き換え方法については、次の記事を参照してください。
phpの擬似静的URL書き換えの簡単な例 PHPの擬似静的書き方(URL書き換え)

php5.3以降のバージョンでURLを素早く書き換える方法

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。