ホームページ > バックエンド開発 > PHPチュートリアル > PHP で短い URL を生成するためのアイデアと手順 (推奨)

PHP で短い URL を生成するためのアイデアと手順 (推奨)

WBOY
リリース: 2016-06-13 11:56:30
オリジナル
971 人が閲覧しました

PHP を使用して短縮 URL を生成するアイデアと方法 (推奨)

短縮 URL を生成するアイデアと、PHP を使用して短縮 URL を生成する方法。

短縮 URL を生成するためのアイデア: 短縮 URL を復元するとどうなるか知っていますか?例:
http://www.jbxue.com/sitejs-17300-1.html
上記のリンクについては、直接開く以外に、次のような別の方法で開くこともできます。
http://www. jbxue.com/link.php?url=http://www.jbxue.com/sitejs-17300-1.html
短縮 URL が復元され、実際には次のようになります。おそらく、Sina Weibo アプリケーションの短縮 URL がすべて次のようになっているのを見たことがあるでしょう:
http://t.cn/zHEYrvV
実際、彼はそれを復元し、次のようになっているかもしれません:
http://t.cn /link.php?url=http://www.jbxue.com/sitejs-17300-1.html
さて、ここからは 2 番目のステップです。
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 に変換されます。 /www. jbxue.com/sitejs-17300-1.html を介してこの URL にジャンプしますか?ここでは暗号化のようなアルゴリズムが使用され、このアルゴリズムを通じてすべての長い URL が対応する 5 ~ 6 桁の一意の文字列に短縮され、この対応関係がデータベースに保存されます。この例を組み合わせると、受信パラメータ zHEYrvV に基づいてデータベース内で対応する URL が検索され、見つかった場合はヘッダーがそこにジャンプします。
わかりました。短縮 URL を生成するというアイデアについては、次のようになります。

php を介して短い URL を生成するプロセス (ここでは、長い URL は 5 ~ 6 文字の長さで生成され、一意である必要があります):

PHP で短い URL を生成するためのアイデアと手順 (推奨)
<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">php </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">function</span> code62(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$x</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">){ </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$show</span>=''<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">; </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">while</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$x</span>>0<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">){ </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>=<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$x</span> % 62<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">; </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">if</span> (<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>>35<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">){ </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>=<span style="margin: 0px; padding: 0px; color: #008080; line-height: 1.5 !important;">chr</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>+61<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); }</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">elseif</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>>9&&<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>){ <span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>=<span style="margin: 0px; padding: 0px; color: #008080; line-height: 1.5 !important;">chr</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span>+55<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); } </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$show</span>.=<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$s</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">; </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$x</span>=<span style="margin: 0px; padding: 0px; color: #008080; line-height: 1.5 !important;">floor</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$x</span>/62<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); } </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">return</span> <span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$show</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">; } </span><span style="margin: 0px; padding: 0px; color: #008000; line-height: 1.5 !important;">//</span><span style="margin: 0px; padding: 0px; color: #008000; line-height: 1.5 !important;"> www.jbxue.com</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">function</span> shorturl(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$url</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">){ </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$url</span>=<span style="margin: 0px; padding: 0px; color: #008080; line-height: 1.5 !important;">crc32</span>(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$url</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); </span><span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$result</span>=<span style="margin: 0px; padding: 0px; color: #008080; line-height: 1.5 !important;">sprintf</span>("%u",<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$url</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">return</span> code62(<span style="margin: 0px; padding: 0px; color: #800080; line-height: 1.5 !important;">$result</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">); } </span>
ログイン後にコピー
PHP で短い URL を生成するためのアイデアと手順 (推奨)

例:

echo shorturl ('http://www.jbxue.com/');?
生成される一意の対応コードは n2Q8e です。

参考記事:

  • php は短縮 URL のサンプル コードを生成します
  • php は短縮 URL のアイデアと実装を生成します
  • php は Weibo の短縮 URL 生成コードを模倣した短縮 URL を生成します
  • php Weibo short URL アルゴリズム PHP は短縮 URL の実装コードを生成します
  • php PHP 短縮 URL の超単純なコード
  • php PHP は短縮 URL の単純なコードを生成します
  • php 短縮 URL のサンプル コードを生成します
  • php 短縮リンク、短縮 URL、短縮 URL 実装コード
  • php 短縮 URL 実装コード
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート