短縮 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 文字の長さで生成され、一意である必要があります):
<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>
ログイン後にコピー
例:
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 実装コード