最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP生成短網(wǎng)址的思路以及實(shí)現(xiàn)方法的詳解

 更新時(shí)間:2019年03月25日 08:55:50   作者:CODETC  
今天小編就為大家分享一篇關(guān)于PHP生成短網(wǎng)址的思路以及實(shí)現(xiàn)方法的詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

短網(wǎng)址流行已經(jīng)有一段時(shí)間了,尤其是在新浪微博上更是頻繁出現(xiàn),但應(yīng)該很多人都不知道這個(gè)東東是怎么實(shí)現(xiàn)的,其實(shí)短網(wǎng)址也挺容易的。下面我們對(duì)于生成短網(wǎng)址的思路以及使用php生成短網(wǎng)址的實(shí)現(xiàn)方法描述一下。

生成短網(wǎng)址的思路:如果把短網(wǎng)址還原了,你知道是個(gè)什么樣子的嗎?可能你看到新浪微博應(yīng)用里面的短網(wǎng)址都是這個(gè)樣子:

http://t.cn/RzddsXt

其實(shí)他還原了說(shuō)不定就是這個(gè)樣子:

http://t.cn/link.php?url=//m.fzitv.net/

按這個(gè)格式可以知道這個(gè)短網(wǎng)址其實(shí)是通過(guò)link.php這個(gè)頁(yè)面做了處理,那么如何將

http://t.cn/link.php?url=//m.fzitv.net/

縮成

http://t.cn/RzddsXt

這個(gè)地方需要用到url重寫,按照本例則可以這么重寫:

RewriteEngine On
RewriteBase /
RewriteRule ^/(.*)$ link.php?url=$1[L]

這里就實(shí)現(xiàn)了將 http://t.cn/link.php?url=RzddsXt 轉(zhuǎn)換為了 http://t.cn/RzddsXt ,縮短了不少,那么如何通過(guò) RzddsXt 去查找到 //m.fzitv.net/ 這個(gè)網(wǎng)址并跳到這個(gè)網(wǎng)址上去呢?這里就用到了一個(gè)類似加密的算法了,通過(guò)算法將所有的長(zhǎng)網(wǎng)址縮短成一個(gè)對(duì)應(yīng)的5-6位的并且唯一字符串,并將這個(gè)對(duì)應(yīng)關(guān)系存入到數(shù)據(jù)庫(kù)中去。結(jié)合本例就是根據(jù)傳入的參數(shù) RzddsXt 到數(shù)據(jù)庫(kù)中去找對(duì)應(yīng)的網(wǎng)址,找到了就 header 跳轉(zhuǎn)過(guò)去。

ok,至于生成短網(wǎng)址的思路就是這個(gè)樣子的了。

下面分享一下通過(guò)php生成短網(wǎng)址的那個(gè)過(guò)程(這里將長(zhǎng)網(wǎng)址生成短至5-6位字符長(zhǎng)度并且還需要是唯一的):

<?php
function code62($x){
 $show='';
 while($x-->0){
 $s=$x % 62;
 if ($s>35){
  $s=chr($s+61);
 }elseif($s>9&&$s<=35){
  $s=chr($s+55);
 }
 $show.=$s;
 $x=floor($x/62);
 }
 return $show;
}
function shorturl($url){
 $url=crc32($url);
 $result=sprintf("%u",$url);
 return code62($result);
}
?>

比如:

echo shorturl('//m.fzitv.net/');

將生成的一個(gè)唯一對(duì)應(yīng)碼為 S54Aq ,OK,至于如何去做 url重寫和數(shù)據(jù)庫(kù)存儲(chǔ)這里就不多寫了,自己根據(jù)自己的情況來(lái)吧。

PS:這里為大家推薦一款本站短網(wǎng)址生成工具(也是使用的第三方API接口生成的短網(wǎng)址)

短鏈(短網(wǎng)址)在線生成工具:

http://tools.jb51.net/password/dwzcreate

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論

平顶山市| 集安市| 梨树县| 方山县| 长寿区| 金昌市| 东港市| 黑水县| 林芝县| 怀仁县| 依兰县| 绥中县| 苍山县| 江门市| 高州市| 邵东县| 海丰县| 鹤山市| 道孚县| 六枝特区| 修文县| 南华县| 元氏县| 平陆县| 杭锦后旗| 商水县| 秦皇岛市| 曲麻莱县| 乌拉特后旗| 正蓝旗| 策勒县| 大埔县| 和平区| 贺州市| 长子县| 兴宁市| 保靖县| 延安市| 通辽市| 孟津县| 托里县|