利用PHP實現短域名互轉_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:10款PHP開發框架的對比
      PHP開發框架近來在PHP社區中成為討論的熱點,幾乎每天都在推出新的框架。面對市面上超過四十種的開發框架,你很難判斷究竟哪一款最適合你,尤其是在這些框架所提供的功能不盡相同的時候。 概覽 以下你看到是這十款開發框架的一覽表,列舉了他們各自所提供的功能。 #1:

      如何使用PHP實現短域名互轉?下面的代碼可以幫助你實現,非常簡單,需要的朋友可以參考下   復制代碼 代碼如下:


      /**
        * 短域名生成&解析類
        */
       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://www.jb51.net'
       );
       foreach ($url as $v) {
           $sort    = $app->encode($v);
           echo "sort link: ".$sort."\n";
           $original    = $app->decode($sort);
           echo "original: ".$original."\n";
       }
       ?>

      分享:php 注冊時輸入信息驗證器的實現詳解
      本篇文章是對php中注冊時輸入信息驗證器的實現方法進行了詳細的分析介紹,需要的朋友參考下 1、對輸入信息進行驗證的類(主要用于驗證用戶名,密碼,重復密碼,郵箱,可添加其它功能) 復制代碼 代碼如下: ?php /** * Validator for Register. */ final class RegisterV

      來源:模板無憂//所屬分類:PHP教程/更新時間:2013-07-06
      相關PHP教程