PHP生成短網(wǎng)址的思路以及實現(xiàn)方法的詳解
短網(wǎng)址流行已經(jīng)有一段時間了,尤其是在新浪微博上更是頻繁出現(xiàn),但應(yīng)該很多人都不知道這個東東是怎么實現(xiàn)的,其實短網(wǎng)址也挺容易的。下面我們對于生成短網(wǎng)址的思路以及使用php生成短網(wǎng)址的實現(xiàn)方法描述一下。
生成短網(wǎng)址的思路:如果把短網(wǎng)址還原了,你知道是個什么樣子的嗎?可能你看到新浪微博應(yīng)用里面的短網(wǎng)址都是這個樣子:
其實他還原了說不定就是這個樣子:
http://t.cn/link.php?url=//www.fzitv.net/
按這個格式可以知道這個短網(wǎng)址其實是通過link.php這個頁面做了處理,那么如何將
http://t.cn/link.php?url=//www.fzitv.net/
縮成
這個地方需要用到url重寫,按照本例則可以這么重寫:
RewriteEngine On RewriteBase / RewriteRule ^/(.*)$ link.php?url=$1[L]
這里就實現(xiàn)了將 http://t.cn/link.php?url=RzddsXt 轉(zhuǎn)換為了 http://t.cn/RzddsXt ,縮短了不少,那么如何通過 RzddsXt 去查找到 //www.fzitv.net/ 這個網(wǎng)址并跳到這個網(wǎng)址上去呢?這里就用到了一個類似加密的算法了,通過算法將所有的長網(wǎng)址縮短成一個對應(yīng)的5-6位的并且唯一字符串,并將這個對應(yīng)關(guān)系存入到數(shù)據(jù)庫中去。結(jié)合本例就是根據(jù)傳入的參數(shù) RzddsXt 到數(shù)據(jù)庫中去找對應(yīng)的網(wǎng)址,找到了就 header 跳轉(zhuǎn)過去。
ok,至于生成短網(wǎng)址的思路就是這個樣子的了。
下面分享一下通過php生成短網(wǎng)址的那個過程(這里將長網(wǎng)址生成短至5-6位字符長度并且還需要是唯一的):
<?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('//www.fzitv.net/');
將生成的一個唯一對應(yīng)碼為 S54Aq ,OK,至于如何去做 url重寫和數(shù)據(jù)庫存儲這里就不多寫了,自己根據(jù)自己的情況來吧。
PS:這里為大家推薦一款本站短網(wǎng)址生成工具(也是使用的第三方API接口生成的短網(wǎng)址)
短鏈(短網(wǎng)址)在線生成工具:
http://tools.jb51.net/password/dwzcreate
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- 一個php短網(wǎng)址的生成代碼(仿微博短網(wǎng)址)
- PHP生成短網(wǎng)址的3種方法代碼實例
- php簡單實現(xiàn)短網(wǎng)址(短鏈)還原的方法(測試可用)
- PHP生成短網(wǎng)址方法匯總
- PHP將URL轉(zhuǎn)換成短網(wǎng)址的算法分享
- PHP長網(wǎng)址與短網(wǎng)址的實現(xiàn)方法
- php生成短網(wǎng)址示例
- PHP通過調(diào)用新浪API生成t.cn格式短網(wǎng)址鏈接的方法詳解
- PHP利用DWZ.CN服務(wù)生成短網(wǎng)址
- php 短鏈接算法收集與分析
- php調(diào)用新浪短鏈接API的方法
- php生成短網(wǎng)址/短鏈接原理和用法實例分析
相關(guān)文章
PHP調(diào)用微博接口實現(xiàn)微博登錄的方法示例
這篇文章主要介紹了PHP調(diào)用微博接口實現(xiàn)微博登錄的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
Zend Framework實現(xiàn)將session存儲在memcache中的方法
這篇文章主要介紹了Zend Framework實現(xiàn)將session存儲在memcache中的方法,結(jié)合實例形式分析了Zend Framework框架下將session存儲在memcache的實現(xiàn)技巧,需要的朋友可以參考下2016-03-03
關(guān)于PhpStorm設(shè)置點擊編輯文件自動定位源文件的實現(xiàn)方式
這篇文章主要介紹了關(guān)于PhpStorm設(shè)置點擊編輯文件自動定位源文件的實現(xiàn)方式,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
PHP設(shè)計模式(一)工廠模式Factory實例詳解【創(chuàng)建型】
這篇文章主要介紹了PHP設(shè)計模式 工廠模式Factory,結(jié)合實例形式詳細分析了工廠模式的基本概念、原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2020-05-05

