<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            利用PHP實現短域名互轉

            時間:2025-12-09 00:44:46 php語言

            利用PHP實現短域名互轉

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

              代碼如下:

              /**

              * 短域名生成&解析類

              */

              class Build_URL {

              private $mem;

              private $base_url = '/pic/';

              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("#^[/pic/pic/pic/p>

              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(

              '/pic/p>

              '/pic/p>

              '/pic/p>

              );

              foreach ($url as $v) {

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

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

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

              echo "original: ".$original."\n";

              }

              ?>

            【利用PHP實現短域名互轉】相關文章:

            php短域名互換實例11-09

            PHP實現獲取域名的方法小結02-03

            PHP實現通過URL提取根域名03-09

            利用PHP實現的進度條效果12-23

            PHP如何實現Unicode和Utf-8編碼相互轉換07-31

            實現PHP實現限制IP訪問02-23

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

            利用PHP模板引擎smarty09-17

            php實現無限級分類實現代碼10-05

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看