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

利用PHP實(shí)現(xiàn)短域名互轉(zhuǎn)

 更新時(shí)間:2013年07月05日 09:35:50   作者:  
如何使用PHP實(shí)現(xiàn)短域名互轉(zhuǎn)?下面的代碼可以幫助你實(shí)現(xiàn),非常簡(jiǎn)單,需要的朋友可以參考下
復(fù)制代碼 代碼如下:

/**
  * 短域名生成&解析類(lèi)
  */
 class Build_URL {

     private $mem;
     private $base_url = 'http://xxx.com/';

     public function  __construct() {
         $mem_conf    = array(
                 array(
                         'host'    => '192.168.10.90',
                         'port'    => '11116'
                 ),
                 array(
                         'host'    => '192.168.10.90',
                         'port'    => '11117'
                 ),
         );
         $this->mem    = new Memcache();
         foreach ($mem_conf as $v) {
             $this->mem->addServer($v['host'], $v['port']);
         }
     }

     public function encode($url) {
         $url    = trim($url);
         if(!preg_match("#^[http://|https://|ftp://]#iS", $url)) {
             return false;
         }
         $md5    = md5($url);
         $aid    = $this->mem->get($md5);
         if(!$aid) {
             if(($aid = $this->mem->increment('auto_increment_id')) === false) {
                 $this->mem->set('auto_increment_id', 10000);
                 $aid = $this->mem->increment('auto_increment_id');
             }
             $this->mem->set($md5, $aid);
             $key    = $this->dec2any($aid);
             $this->mem->set($key, $url);
         } else {
             $key    = $this->dec2any($aid);
         }

         return $this->base_url.$key;
     }

     public function decode($url) {
         $key    = str_replace($this->base_url, '', trim($url));
         return $this->mem->get($key);
     }

     private function dec2any($num, $base=62, $index=false) {
         $out = '';
         if (! $base ) {
             $base = strlen($index);
         } else if (! $index ) {
             $index = substr("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ,0 ,$base);
         }
         $t = ($num == 0) ? 0 : floor(log10($num) / log10($base));
         for ($t; $t >= 0; $t--) {
             $a = floor($num / pow( $base, $t ));
             $out = $out . substr($index, $a, 1);
             $num = $num - ($a * pow( $base, $t ));
         }
         return $out;
     }
 }

 $app = new Build_URL();
 $url = array(
     'http://www.baidu.com',
     'http://www.google.com',
     'http://m.fzitv.net'
 );
 foreach ($url as $v) {
     $sort    = $app->encode($v);
     echo "sort link: ".$sort."\n";
     $original    = $app->decode($sort);
     echo "original: ".$original."\n";
 }
 ?>

相關(guān)文章

  • 詳解php命令注入攻擊

    詳解php命令注入攻擊

    這篇文章主要介紹了php命令注入攻擊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • linux下刪除7天前日志的代碼(php+shell)

    linux下刪除7天前日志的代碼(php+shell)

    shell 版本比較麻煩 關(guān)鍵我linux轉(zhuǎn)換不熟悉
    2011-01-01
  • php中RESTful API的使用方法詳解

    php中RESTful API的使用方法詳解

    RESTful API是一種軟件架構(gòu)風(fēng)格,它將資源(Resource)作為核心概念,并通過(guò)一組統(tǒng)一的接口對(duì)資源進(jìn)行操作,下面我們就來(lái)學(xué)習(xí)一下RESTful API在PHP中的具體使用吧
    2023-11-11
  • PHP與JavaScript針對(duì)Cookie的讀寫(xiě)、交互操作方法詳解

    PHP與JavaScript針對(duì)Cookie的讀寫(xiě)、交互操作方法詳解

    這篇文章主要介紹了PHP與JavaScript針對(duì)Cookie的讀寫(xiě)、交互操作方法,結(jié)合實(shí)例形式分析了php與javascript設(shè)置cookie、php讀取php及js設(shè)置的cookie、js讀取php及js設(shè)置的cookie等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • 用PHP去掉文件頭的Unicode簽名(BOM)方法

    用PHP去掉文件頭的Unicode簽名(BOM)方法

    下面小編就為大家?guī)?lái)一篇用PHP去掉文件頭的Unicode簽名(BOM)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • 解析關(guān)于java,php以及html的所有文件編碼與亂碼的處理方法匯總

    解析關(guān)于java,php以及html的所有文件編碼與亂碼的處理方法匯總

    本篇文章是對(duì)關(guān)于java,php以及html的所有文件編碼與亂碼的處理方法進(jìn)行了詳細(xì)的總結(jié)與介紹,需要的朋友參考下
    2013-06-06
  • php,ajax實(shí)現(xiàn)分頁(yè)

    php,ajax實(shí)現(xiàn)分頁(yè)

    之前用php寫(xiě)好了個(gè)分頁(yè)程序,今天試著結(jié)合ajax實(shí)現(xiàn)這個(gè)功能,成功了。哈哈,代碼不難寫(xiě),但寫(xiě)好之后測(cè)試發(fā)現(xiàn)出了,然后又調(diào)試了好段時(shí)間才正確。深感開(kāi)發(fā)人員的時(shí)間大部分都是花在調(diào)試代碼上的。
    2008-03-03
  • Discuz Uchome ajaxpost小技巧

    Discuz Uchome ajaxpost小技巧

    discuz的ajaxpost功能有點(diǎn)強(qiáng)大,但缺點(diǎn)也很明顯,如果ajaxpost提交一個(gè)FORM,那么返回的時(shí)候只能顯示showmessage的內(nèi)容,而不會(huì)主動(dòng)跳轉(zhuǎn),因此這里就有一個(gè)小技巧 了。
    2011-01-01
  • PHP設(shè)計(jì)模式之模板方法模式Template Method Pattern詳解

    PHP設(shè)計(jì)模式之模板方法模式Template Method Pattern詳解

    在我們實(shí)際開(kāi)發(fā)中,如果一個(gè)方法極其復(fù)雜時(shí),如果我們將所有的邏輯寫(xiě)在一個(gè)方法中,那維護(hù)起來(lái)就很困難,要替換某些步驟時(shí)都要重新寫(xiě),這樣代碼的擴(kuò)展性就很差,當(dāng)遇到這種情況就要考慮今天的主角——模板方法模式
    2022-12-12
  • PHP+Ajax實(shí)現(xiàn)的博客文章添加類(lèi)別功能示例

    PHP+Ajax實(shí)現(xiàn)的博客文章添加類(lèi)別功能示例

    這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)的博客文章添加類(lèi)別功能,結(jié)合實(shí)例形式分析了php+ajax實(shí)現(xiàn)的數(shù)據(jù)交互、數(shù)據(jù)庫(kù)連接、查詢(xún)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03

最新評(píng)論

沾化县| 彭山县| 横山县| 通榆县| 巴彦淖尔市| 于都县| 宁强县| 信宜市| 云和县| 探索| 聂荣县| 灌阳县| 太和县| 寿宁县| 闸北区| 宁远县| 留坝县| 鸡东县| 瓦房店市| 江陵县| 灵丘县| 大田县| 翁源县| 平昌县| 普洱| 吉林省| 华安县| 和林格尔县| 拜泉县| 沙河市| 峨眉山市| 芷江| 图们市| 天水市| 九龙县| 于都县| 海原县| 册亨县| 太谷县| 开封市| 资阳市|