热搜:NVER node 开发 php

php短址转换实现

2024-08-11 20:35:02
php短址转换实现

从昨天下午到现在 推翻了一个又一个的信息存储方案,从mysql到加上内存不受限制的file_get_contents,再到格式化输入的fscanf,最终选择了比较成熟稳定的读取ini的方法。

允许转载,转载须注明出处。

整个主程序只有两个文件 zipurl.php、index.php

zipurl.php:

<?php #此文件用于转换url#整理urlfunction dealurl($url){	if($url[4]!=':')$url='http://'.$url;	return $url;}function ranum(){$str="0123456789abcdefghijklmnopqrstuvwxyz";$tmp=$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)].$str[mt_rand(0,35)];return $tmp;}#存号function zipurl($urls){	#查号去重	$handle = fopen("url.tmp","r+");	$array=parse_ini_file("url.tmp",true);	if(array_search($urls, $array))return array_search($urls, $array);	$num=ranum();	fprintf($handle,"%s=%s\r",$num,$urls);	fclose($handle);	return $num;}function main(){	if($url=$_GET['url'])	{		$url=dealurl($url);		$url=zipurl($url);		echo "http://localhost/?".$url;	}}main();?>ZIP your URL      
index.php

<?php #查号 #短址访问部分function readfiles($strs){	$array=parse_ini_file("url.tmp",true);	var_dump($array);	return $array[$strs];}function main(){	#转到模块	if($str=$_SERVER['QUERY_STRING'])	echo '<script language="javascript">location.href="'.readfiles($str).'";';}main();#统计部分?>ZIP your URL      

临时文件url.tmp

aaaaa=http://baidu.com