源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

利用PHP实现短域名互转

  • 时间:2020-11-04 20:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:利用PHP实现短域名互转
[u]复制代码[/u] 代码如下:
/**  [b] * 短域名生成&解析类 [/b]  */  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.1sucai.cn'  );  foreach ($url as $v) {      $sort    = $app->encode($v);      echo "sort link: ".$sort."\n";      $original    = $app->decode($sort);      echo "original: ".$original."\n";  }  ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部