从昨天下午到现在 推翻了一个又一个的信息存储方案,从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();?>index.phpZIP your URL
<?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