如何使用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("#^[|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";
}
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

WebStorm Mac version
Useful JavaScript development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Notepad++7.3.1
Easy-to-use and free code editor