<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語言

            php短域名互換實例

            時間:2025-04-25 10:04:52 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.xxx.net'

              );

              foreach ($url as $v) {

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

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

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

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

              }

              ?>


            【php短域名互換實例】相關文章:

            利用PHP實現短域名互轉07-24

            php畫圖實例07-16

            php查詢mysql的實例09-09

            PHP socket的配置及實例10-16

            PHP實用的代碼實例08-12

            php簡單偽靜態實例09-16

            PHP會話控制實例分析09-17

            php:樹形結構的算法實例10-18

            php中fsockopen用法實例06-20

            <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>
                      黄色视频在线观看