php教程 PHP源码 在线短地址服务

在线短地址服务

May 25, 2016 pm 05:08 PM

在线短地址服务

<?php
header("Content-Type:text/html;charset=utf-8");

define(&#39;Txpath&#39;, dirname(__FILE__).&#39;/aytemp/&#39;);  //缓存目录

define(&#39;URL&#39;,&#39;http://127.0.0.4/&#39;); //程序主域名

define(&#39;ANYOUAPI&#39;,&#39;anyou&#39;);

$pageb = mima(&#39;当前页码&#39;);

$mbox = &#39;压缩后的网址:&#39;;

$MUM = new Mem();

$dangqian = $MUM -> g( $pageb);

if( !$dangqian ){
  $dangqian = 1 ;$MUM -> s( $pageb,1);
}  //当前url



if($_POST[&#39;url&#39;]){ 
$wz = mima($_POST[&#39;url&#39;]);

if($MUM -> g($wz)){ $zhi =  $MUM -> g($wz); echo  $mbox.URL.$zhi; 
}
else{$danzhi =   dechex($dangqian); $url = mima(&#39;@&#39;.$danzhi); $MUM -> s($url,$_POST[&#39;url&#39;]);
 $MUM -> s($wz,   $danzhi); 
$MUM -> j( $pageb,1);  echo   $mbox.URL.$danzhi;
$dangqian+=1;
}

}


	
if($_POST[&#39;yuan&#39;]){
		
$urlv = $MUM -> g(mima(&#39;@&#39;.$_POST[&#39;yuan&#39;]));
		
if($urlv){
$urlv = str_replace("script",&#39;&#39;,strtolower($urlv));
 
	echo &#39;还原后的网址:&#39;.$urlv ;

}else
  echo &#39;网址没有压缩&#39;;


}



function arr2file($filename, $arr=&#39;&#39;){
	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.&#39;13yd~!@#$%^&*(){}[1500]&#39;).$varstr));
   return substr($hash,6,16);
	 
 }


function p(){
	 $args=func_get_args();
	 if(count($args)<1) return;
	 echo &#39;<p style="width:100%;text-align:left"><pre class="brush:php;toolbar:false">&#39;;

	foreach($args as $arg){
		if(is_array($arg)){  
			  print_r($arg);
			  echo &#39;<br>&#39;;
		  }else if(is_string($arg)){
			echo $arg.&#39;<br>&#39;;
		  }else{
			var_dump($arg);
			echo &#39;<br>&#39;;
		  }
		}
		    echo &#39;

'; } 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)!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows에서 '서비스가 응답하지 않습니다' 오류를 해결하는 방법. Windows에서 '서비스가 응답하지 않습니다' 오류를 해결하는 방법. Apr 27, 2023 am 08:16 AM

NETSTART 명령은 서비스와 기타 프로그램을 시작하고 중지하는 데 사용할 수 있는 Windows의 기본 제공 명령입니다. 때때로 이 명령을 실행하는 동안 NetHelpmsg2186 오류가 발생할 수 있습니다. 이 오류가 발생하는 대부분의 사용자는 NETSTARTWUAUSERV 명령을 실행하여 Windows 업데이트 서비스를 다시 시작하려고 합니다. Windows 업데이트 서비스가 비활성화되거나 실행되고 있지 않으면 최신 업데이트를 받을 수 없으므로 시스템이 위험할 수 있습니다. 이 오류가 발생하는 이유와 이를 우회하는 방법을 자세히 살펴보겠습니다. 좋아요? 오류 2186이란 무엇입니까? Windows 업데이트 서비스는 최신 중요 업데이트 및 보안 기능을 설치합니다.

Windows 10 보안 센터 서비스가 비활성화되는 솔루션 Windows 10 보안 센터 서비스가 비활성화되는 솔루션 Jul 16, 2023 pm 01:17 PM

Security Center 서비스는 win10 시스템에 내장된 컴퓨터 보호 기능으로 실시간으로 컴퓨터 보안을 보호할 수 있습니다. 그러나 일부 사용자는 컴퓨터 부팅 시 Security Center 서비스가 비활성화되는 상황에 직면하게 됩니다. 매우 간단합니다. 서비스 패널을 열고 SecurityCenter 항목을 찾은 다음 마우스 오른쪽 버튼을 클릭하여 속성 창을 열고 시작 유형을 자동으로 설정한 다음 시작을 클릭하여 서비스를 다시 시작할 수 있습니다. Win10 보안 센터 서비스가 비활성화된 경우 수행할 작업: 1. "Win+R"을 눌러 "작업" 창을 엽니다. 2. 그런 다음 "services.msc" 명령을 입력하고 Enter를 누릅니다. 3. 그런 다음 오른쪽 창에서 "SecurityCenter" 항목을 찾아 두 번 클릭하여 속성 창을 엽니다.

Laravel을 사용하여 온라인 레스토랑 예약 시스템을 개발하는 방법 Laravel을 사용하여 온라인 레스토랑 예약 시스템을 개발하는 방법 Nov 02, 2023 pm 01:48 PM

라라벨을 활용한 온라인 레스토랑 예약 시스템 개발 최근 인터넷과 모바일 인터넷의 급속한 발전으로 온라인 예약은 현대인의 생활에 없어서는 안 될 부분이 되었습니다. 케이터링 업계도 예외는 아닙니다. 점점 더 많은 레스토랑이 사용자 경험을 개선하고 시장 점유율을 확대하기 위해 온라인 예약 서비스를 제공하기 시작하고 있습니다. 이 기사에서는 Laravel 프레임워크를 사용하여 간단하지만 완전한 기능을 갖춘 온라인 레스토랑 예약 시스템을 개발하는 방법을 소개하고 독자가 쉽게 배우고 연습할 수 있도록 구체적인 코드 예제를 제공합니다. 환경설정 먼저,

명령을 사용하여 원격 데스크톱 연결 서비스를 여는 방법 명령을 사용하여 원격 데스크톱 연결 서비스를 여는 방법 Dec 31, 2023 am 10:38 AM

원격 데스크톱 연결은 많은 사용자의 일상 생활에 편리함을 가져왔습니다. 어떤 사람들은 원격으로 연결하기 위해 명령을 사용하고 싶어하는데, 그러면 어떻게 연결해야 할까요? 원격 데스크톱 연결 서비스는 명령을 사용하여 문제를 열면 이 문제를 해결하는 데 도움이 됩니다. 원격 데스크톱 연결 명령을 설정하는 방법: 방법 1. 명령을 실행하여 원격으로 연결합니다. 1. "Win+R"을 눌러 "실행"을 열고 mstsc2를 입력한 다음 "옵션 표시"를 클릭합니다. 3. IP 주소를 입력하고 클릭합니다. "연결하다". 4. 연결 중이라고 표시됩니다. 방법 2: 명령 프롬프트를 통해 원격으로 연결 1. "Win+R"을 눌러 "실행"을 열고 "명령 프롬프트"에 mstsc/v:192.168.1.250/console을 입력합니다.

Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Mar 15, 2024 am 09:09 AM

Linux에서 서비스를 다시 시작하는 올바른 방법은 무엇입니까? Linux 시스템을 사용하다 보면 서비스를 다시 시작해야 하는 상황이 자주 발생하지만, 서비스를 다시 시작할 때 서비스가 실제로 중지되지 않거나 시작되지 않는 등의 문제가 발생할 수도 있습니다. 따라서 서비스를 다시 시작하는 올바른 방법을 익히는 것이 매우 중요합니다. Linux에서는 일반적으로 systemctl 명령을 사용하여 시스템 서비스를 관리할 수 있습니다. systemctl 명령은 systemd 시스템 관리자의 일부입니다.

win7에서 오디오 서비스를 활성화하는 방법 win7에서 오디오 서비스를 활성화하는 방법 Jul 10, 2023 pm 05:13 PM

컴퓨터에는 다양한 프로그램의 응용을 지원하는 많은 시스템 서비스가 있습니다. 하드웨어 문제를 해결한 후에도 컴퓨터에서 소리가 나지 않고 대부분의 오디오 서비스가 켜지지 않는 경우 win7에서 오디오 서비스를 어떻게 활성화합니까? 많은 친구들이 헷갈려하는데, win7에서 오디오 서비스를 활성화하는 방법에 대한 질문에 대해 아래 편집기에서 win7에서 오디오 서비스를 활성화하는 방법을 소개하겠습니다. win7에서 오디오 서비스를 활성화하는 방법. 1. Windows 7 시스템의 컴퓨터 바탕 화면에서 컴퓨터를 찾아 마우스 오른쪽 버튼을 클릭하고 관리 옵션을 선택합니다. 2. 열리는 컴퓨터 관리 인터페이스의 서비스 및 응용 프로그램에서 서비스 항목을 찾아 엽니다. 오른쪽 서비스 인터페이스에서 WindowsAudio를 찾아 두 번 클릭하여 수정 사항을 엽니다. 4. 일반 프로젝트로 전환하고 시작을 클릭하여 기능을 활성화합니다.

PHP의 온라인 송장 관리 시스템 개발 가이드 PHP의 온라인 송장 관리 시스템 개발 가이드 Jun 11, 2023 am 08:38 AM

전자상거래의 인기로 인해 점점 더 많은 기업이 판매 및 송장을 관리하기 위해 온라인 송장 관리 시스템을 채택하고 있습니다. 온라인 송장 관리 시스템을 개발할 때 올바른 도구와 기술을 선택하는 것이 중요합니다. 이 기사에서는 PHP 언어를 사용하여 온라인 송장 관리 시스템을 개발하는 방법을 소개하고 몇 가지 유용한 개발 지침을 제공합니다. 시스템 요구 사항 결정 개발을 시작하기 전에 온라인 송장 관리 시스템에 대한 특정 요구 사항을 결정해야 합니다. 여기에는 다음과 같은 측면이 포함될 수 있습니다. 송장 관리: 송장 정보 저장, 조회 및 편집 고객 정보 관리: 고객 저장, 조회 및 편집

Java Websocket을 사용하여 온라인 음성 및 영상 통화를 구현하는 방법은 무엇입니까? Java Websocket을 사용하여 온라인 음성 및 영상 통화를 구현하는 방법은 무엇입니까? Dec 02, 2023 am 09:44 AM

JavaWebsocket을 사용하여 온라인 음성 및 영상 통화를 구현하는 방법은 무엇입니까? 오늘날 디지털 시대에는 실시간 커뮤니케이션이 점점 더 보편화되고 있습니다. 직장에서의 원격 협업이든, 집에서 친척 및 친구와의 원격 커뮤니케이션이든, 실시간 음성 및 영상 통화는 사람들에게 없어서는 안 될 부분이 되었습니다. 이 기사에서는 JavaWebsocket을 사용하여 온라인 음성 및 영상 통화를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. Websocket 이해Websocket은 HTML5의 새로운 기술입니다.

See all articles