<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            利用PHP實現短域名互轉

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

            利用PHP實現短域名互轉

              如何使用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短域名互換實例04-25

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

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

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

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

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

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

            利用PHP模板引擎smarty05-04

            php實現無限級分類實現代碼07-03

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院