亚洲中文日韩国产一区|亚洲国产精品原创巨作AV无遮挡|色依依国内精品中文字幕|日韩精品免费在线视频

<button id="lyzxa"><option id="lyzxa"><em id="lyzxa"></em></option></button>
    php語(yǔ)言

    php短域名互換實(shí)例

    時(shí)間:2024-11-06 10:19:39 php語(yǔ)言 我要投稿
    • 相關(guān)推薦

    php短域名互換實(shí)例

      如今微博盛行,短網(wǎng)址也開(kāi)始流行,當(dāng)然,這樣是為了控制更少的字?jǐn)?shù)寫(xiě)更多的內(nèi)容。下面是小編分享的php短域名互換實(shí)例,一起來(lái)看一下吧。

      /**

      * 短域名生成&解析類(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://www.xxx.net'

      );

      foreach ($url as $v) {

      $sort    = $app->encode($v);

      echo "sort link: ".$sort." ";

      $original    = $app->decode($sort);

      echo "original: ".$original." ";

      }

      ?>


    【php短域名互換實(shí)例】相關(guān)文章:

    php畫(huà)圖實(shí)例07-16

    PHP實(shí)用的代碼實(shí)例08-12

    php查詢(xún)mysql的實(shí)例09-09

    PHP socket的配置及實(shí)例10-16

    php簡(jiǎn)單偽靜態(tài)實(shí)例09-16

    php使用GeoIP庫(kù)實(shí)例08-09

    php:樹(shù)形結(jié)構(gòu)的算法實(shí)例10-18

    php中fsockopen用法實(shí)例06-20

    PHP實(shí)現(xiàn)獲取域名的方法小結(jié)06-08

    php實(shí)現(xiàn)偽靜態(tài)的方法實(shí)例09-25