av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語言

利用PHP實現(xiàn)短域名互轉

時間:2025-05-18 12:58:08 php語言 我要投稿
  • 相關推薦

利用PHP實現(xiàn)短域名互轉

  如何使用PHP實現(xiàn)短域名互轉?下面的代碼可以幫助你實現(xiàn),非常簡單,需要的朋友可以參考下。

  代碼如下:

  /**

  * 短域名生成&解析類

  */

  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實現(xiàn)短域名互轉】相關文章:

php短域名互換實例04-25

PHP實現(xiàn)獲取域名的方法小結02-03

PHP實現(xiàn)通過URL提取根域名03-09

利用PHP實現(xiàn)的進度條效果03-23

PHP如何實現(xiàn)Unicode和Utf-8編碼相互轉換07-28

實現(xiàn)PHP實現(xiàn)限制IP訪問02-23

PHP ASCII碼與字符串的相互轉換03-05

利用PHP模板引擎smarty05-04

php實現(xiàn)無限級分類實現(xiàn)代碼07-03