PHP短域名互转的实例分享
host
http
php
代码
分享
域名
实例
的
短
代码如下:
<?<span php </span><span /*</span><span * * 短域名生成&解析类 * edit www.jbxue.com </span><span */</span> <span class</span><span Build_URL { </span><span private</span> <span $mem</span><span ; </span><span private</span> <span $base_url</span> = 'http://xxx.com/'<span ; </span><span public</span> <span function</span><span __construct() { </span><span $mem_conf</span> = <span array</span><span ( </span><span array</span><span ( </span>'host' => '192.168.10.90', 'port' => '11116'<span )</span>, <span array</span><span ( </span>'host' => '192.168.10.90', 'port' => '11117'<span )</span>,<span ); </span><span $this</span>->mem = <span new</span><span Memcache(); </span><span foreach</span> (<span $mem_conf</span> <span as</span> <span $v</span><span ) { </span><span $this</span>->mem->addServer(<span $v</span>['host'], <span $v</span>['port'<span ]); } } </span><span public</span> <span function</span> encode(<span $url</span><span ) { </span><span $url</span> = <span trim</span>(<span $url</span><span ); </span><span if</span>(!<span preg_match</span>("#^[http://|https://|ftp://]#iS", <span $url</span><span )) { </span><span return</span> <span false</span><span ; } </span><span $md5</span> = <span md5</span>(<span $url</span><span ); </span><span $aid</span> = <span $this</span>->mem->get(<span $md5</span><span ); </span><span if</span>(!<span $aid</span><span ) { </span><span if</span>((<span $aid</span> = <span $this</span>->mem->increment('auto_increment_id')) === <span false</span><span ) { </span><span $this</span>->mem->set('auto_increment_id', 10000<span ); </span><span $aid</span> = <span $this</span>->mem->increment('auto_increment_id'<span ); } </span><span $this</span>->mem->set(<span $md5</span>, <span $aid</span><span ); </span><span $key</span> = <span $this</span>->dec2any(<span $aid</span><span ); </span><span $this</span>->mem->set(<span $key</span>, <span $url</span><span ); } </span><span else</span><span { </span><span $key</span> = <span $this</span>->dec2any(<span $aid</span><span ); } </span><span return</span> <span $this</span>->base_url.<span $key</span><span ; } </span><span public</span> <span function</span> decode(<span $url</span><span ) { </span><span $key</span> = <span str_replace</span>(<span $this</span>->base_url, '', <span trim</span>(<span $url</span><span )); </span><span return</span> <span $this</span>->mem->get(<span $key</span><span ); } </span><span private</span> <span function</span> dec2any(<span $num</span>, <span $base</span>=62, <span $index</span>=<span false</span><span ) { </span><span $out</span> = ''<span ; </span><span if</span> (! <span $base</span><span ) { </span><span $base</span> = <span strlen</span>(<span $index</span><span ); } </span><span else</span> <span if</span> (! <span $index</span><span ) { </span><span $index</span> = <span substr</span>("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ,0 ,<span $base</span><span ); } </span><span $t</span> = (<span $num</span> == 0) ? 0 : <span floor</span>(<span log10</span>(<span $num</span>) / <span log10</span>(<span $base</span><span )); </span><span for</span> (<span $t</span>; <span $t</span> >= 0; <span $t</span>--<span ) { </span><span $a</span> = <span floor</span>(<span $num</span> / <span pow</span>( <span $base</span>, <span $t</span><span )); </span><span $out</span> = <span $out</span> . <span substr</span>(<span $index</span>, <span $a</span>, 1<span ); </span><span $num</span> = <span $num</span> - (<span $a</span> * <span pow</span>( <span $base</span>, <span $t</span><span )); } </span><span return</span> <span $out</span><span ; } } </span><span $app</span> = <span new</span><span Build_URL(); </span><span $url</span> = <span array</span><span ( </span>'http://www.baidu.com', 'http://www.google.com', 'http://www.jbxue.com'<span ); </span><span foreach</span> (<span $url</span> <span as</span> <span $v</span><span ) { </span><span $sort</span> = <span $app</span>->encode(<span $v</span><span ); </span><span echo</span> "sort link: ".<span $sort</span>."\n"<span ; </span><span $original</span> = <span $app</span>->decode(<span $sort</span><span ); </span><span echo</span> "original: ".<span $original</span>."\n"<span ; } </span>?>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保护它?
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
