在线短地址服务
<?php header("Content-Type:text/html;charset=utf-8"); define('Txpath', dirname(__FILE__).'/aytemp/'); //缓存目录 define('URL','http://127.0.0.4/'); //程序主域名 define('ANYOUAPI','anyou'); $pageb = mima('当前页码'); $mbox = '压缩后的网址:'; $MUM = new Mem(); $dangqian = $MUM -> g( $pageb); if( !$dangqian ){ $dangqian = 1 ;$MUM -> s( $pageb,1); } //当前url if($_POST['url']){ $wz = mima($_POST['url']); if($MUM -> g($wz)){ $zhi = $MUM -> g($wz); echo $mbox.URL.$zhi; } else{$danzhi = dechex($dangqian); $url = mima('@'.$danzhi); $MUM -> s($url,$_POST['url']); $MUM -> s($wz, $danzhi); $MUM -> j( $pageb,1); echo $mbox.URL.$danzhi; $dangqian+=1; } } if($_POST['yuan']){ $urlv = $MUM -> g(mima('@'.$_POST['yuan'])); if($urlv){ $urlv = str_replace("script",'',strtolower($urlv)); echo '还原后的网址:'.$urlv ; }else echo '网址没有压缩'; } function arr2file($filename, $arr=''){ if(is_array($arr)){ $con = var_export($arr,true); } else{ $con = $arr; } $con = "<?php \nreturn $con;\n"; file_put_contents($filename, $con); } function mima($var){ $varstr = strlen($var); $hash = md5(md5(base64_encode($var.'13yd~!@#$%^&*(){}[1500]').$varstr)); return substr($hash,6,16); } function p(){ $args=func_get_args(); if(count($args)<1) return; echo '<p style="width:100%;text-align:left"><pre class="brush:php;toolbar:false">'; foreach($args as $arg){ if(is_array($arg)){ print_r($arg); echo '<br>'; }else if(is_string($arg)){ echo $arg.'<br>'; }else{ var_dump($arg); echo '<br>'; } } echo ''; } class Mem{ //Memcache //r(名,值) 替换值 //s(名,值,时间) 设置值 //g(名) 获取值 //a(名,值,时间) 新建立值 没有就新建 有就返回 false; //d(名);删除值 //f(); 清空 //ja(名,数量);//减的数量 //j(名,数量);//加的数量 //gS();获取统计值 //gV();获得版本 private $md = null; function __construct(){ $md = new Pxhc; $this->md=$md; } public function r($key, $value){ //获取对象 return $this -> md -> replace( $key, $value); } public function s($key,$value,$time=0){ //设置值 return $this -> md -> set( $key, $value, MEMCACHE_COMPRESSED, $time); } public function g($key){ //获取值 return $this -> md -> get( $key); } public function a( $key, $value, $time=0){ return $this -> md -> add( $key, $value, MEMCACHE_COMPRESSED, $time); } public function d( $key){ //删除一个值 return $this -> md -> delete( $key); //删除一个值 } public function f(){ //清空全部flush return $this -> md -> flush(); } public function ja( $key, $num=1){ //加法运算 return $this -> md -> decrement( $key, $num); } public function j( $key, $num=1){ //减法预算 return $this -> md -> increment( $key, $num); } public function gS(){ //获取进程池中所有进程的运行系统统计 return $this -> md -> getExtendedStats(); } public function gV(){ //版本 return $this -> md -> getVersion(); } public function error(){ //判断是否开启 $stats = $this -> md -> getStats(); if( empty( $stats )) return false; else return true; } } class Pxhc{ //文本缓存 public function replace($key, $value){ //替换规则 $pat = Txpath.$key.'.php'; if(file_exists( $pat)){ arr2file( $pat,$value); return $value; } else return false; } public function add($key, $value, $num='', $time){ //如果存在 $pat = Txpath.($key).'.php'; if(file_exists( $pat)) return false; else{ arr2file( $pat,$value); return $value;} } public function increment($key,$num){ //加 条目 $pat = Txpath.urlencode($key).'.php'; if(file_exists($pat)){ $value = include $pat; $value = $value*1+$num; arr2file($pat,$value); return $value; }else return false; } public function getExtendedStats(){ $zzz = Txpath; $nums = 0; $mydir = dir($zzz); //读取配置文件 while($file = $mydir->read()){ if(($file != ".") and ($file != "..") and (strstr($file,".php"))){ $file = str_replace(".php",'',$file); $files[] = $file; $nums++; } } $mydir -> close(); $files['Nums'] = '变量数:'.$nums.'个'; return $files; } public function decrement($key,$num){ //减 条目 $pat = Txpath.$key.'.php'; if(file_exists( $pat)){ $value = include $pat; $value = $value*1-$num; arr2file($pat,$value); return $value; }else return false; } public function get($key){ //获取值 $pat = Txpath.$key.'.php'; if(file_exists($pat)){ return include $pat; }else return false; } public function delete($key){ //删除值 $pat = Txpath.urlencode($key).'.php'; if(file_exists($pat)){ unlink($pat); return true; }else return false; } public function flush(){ //删除全部 $zzz = Txpath; $mydir = dir($zzz); //读取配置文件 while($file = $mydir -> read()){ if(($file!=".") and ($file!="..")){ $files=$zzz.$file; unlink($files); } } $mydir->close(); return true; } public function set($key, $value, $ss, $time){ //设置值 $pat = Txpath.$key.'.php'; if(!is_array($value))$value="'".$value."'"; arr2file($pat,$value); return $value; } public function getVersion(){ return '0.0.1'; } } $PATHINFOS = ltrim(strtolower($_SERVER['PATH_INFO']),'/'); $urlv = $MUM -> g(mima('@'.$PATHINFOS)); if($urlv){ header('HTTP/1.1 302 Found'); header("Location: $urlv"); die; } ?>
以上就是在线短地址服务的内容,更多相关内容请关注PHP中文网(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何使用Laravel開發一個線上餐廳預訂系統近年來,隨著網路和行動網路的快速發展,線上預訂已成為現代人生活中不可或缺的一部分。餐飲業也不例外,越來越多的餐廳開始提供線上預訂服務,以提高用戶體驗並擴大市場份額。本文將介紹如何使用Laravel框架來開發一個簡單但功能完善的線上餐廳預訂系統,並提供具體的程式碼範例,方便讀者學習和實踐。環境搭建首先,我們需要

NETSTART指令是Windows中的內建指令,可用於啟動和停止服務和其他程式。有時,在執行此命令時,您可能會遇到NetHelpmsg2186錯誤。遇到此錯誤的大多數用戶都試圖透過執行NETSTARTWUAUSERV命令來重新啟動Windows更新服務。如果Windows更新服務已停用或未執行,則您的系統可能會面臨風險,因為您無法取得最新更新。讓我們詳細探討為什麼會發生此錯誤以及如何繞過它。好嗎?什麼是錯誤2186? Windows更新服務透過安裝最新的關鍵更新和安全功

安全中心服務是win10系統內建的電腦防護作用,能夠即時保護電腦安全,可是有些客戶在開機的時候碰見了安全中心服務被禁用的狀況,怎麼辦呢?很簡單,你可以打開服務面板,找到SecurityCenter項,以後右鍵打開它的屬性窗口,將啟動種類設定為自動,以後再點擊一下啟動就能夠再次開啟這個服務了。 win10安全中心服務被停用怎麼辦:1、按「Win+R」開啟「運作」視窗。 2.隨後輸入「services.msc」指令後按回車3、隨後在右邊視窗中找到「SecurityCenter」一項,並雙擊此項開啟其屬性窗

遠端桌面連線為許多使用者的日常生活帶來了方便,也有部分想使用指令來進行遠端連接,操作起來更方便,那麼該怎麼連接呢?遠端桌面連線服務用指令開啟方法可以幫你解決。遠端桌面連線指令怎麼設定:方法一、透過執行指令遠端連線1、按下「Win+R」開啟「執行」輸入mstsc2、然後點選「顯示選項」3、輸入ip位址點選「連線」。 4、顯示正在連接即可。方法二、透過命令提示字元遠端連接1、按下「Win+R」開啟「執行」輸入cmd2、在「命令提示字元」輸入mstsc/v:192.168.1.250/console

電腦有許多系統服務來支援各種程式的應用。如果電腦沒有聲音,在排除硬體問題的情況下,大部分音訊服務都沒有打開,那麼win7該如何啟用音訊服務?許多朋友比較模糊,所以針對如何啟用win7音訊服務的問題,以下小編介紹win7音訊服務的啟用方法。啟用win7音訊服務的方法。 1.在Windows7系統下的計算機桌面上找到計算機,右鍵選擇管理選項。 2.在開啟的電腦管理介面中找到並開啟服務和應用下的服務項目。在右邊的服務介面上找到WindowsAudio雙擊開啟修改。 4.切換到常規項目,點選啟動開啟功能。

Linux重啟服務的正確方式是什麼?在使用Linux系統時,經常會遇到需要重新啟動某個服務的情況,但是有時我們可能會在重新啟動服務時遇到一些問題,例如服務沒有真正停止或啟動等情況。因此,掌握正確的重啟服務的方式是非常重要的。在Linux中,通常可以使用systemctl指令來管理系統服務。 systemctl指令是systemd系統管理員的一部分

「最煩登網站時各種奇奇怪怪(甚至變態)的驗證碼了。」現在,有一個好消息和一個壞消息。好消息就是:AI可以幫你代勞這件事了。不信你瞧,以下是三張辨識難度依序遞增的真實案例:而這些是一個名為「Pix2Struct」的模型給出的答案:全部準確無誤、一字不差有沒有?有網友感嘆:確定,準確度比我強。所以可不可以做成瀏覽器插件? ?不錯,有人表示:別看這幾個案例相比還算簡單,但凡微調一下,我都不敢想像其效果有多厲害了。所以,壞消息就是──驗證碼馬上就要攔不住機器人了! (危險危險危險…)如何做到? Pix2St

隨著電子商務的普及,越來越多的企業採用線上發票管理系統來管理銷售和發票。在開發線上發票管理系統時,選擇合適的工具和技術非常重要。本文將介紹如何使用PHP語言開發線上發票管理系統,並提供了一些有用的開髮指南。確定係統需求在開始開發之前,需要確定線上發票管理系統的具體需求。這可能包括以下幾個方面:發票管理:保存、查詢和編輯發票資訊;客戶資訊管理:保存、查詢和編輯客戶
