PHP ショートアドレス変換実装
昨日の午後から現在まで、mysql から無制限のメモリを備えた file_get_contents、フォーマットされた入力用の fscanf まで、情報ストレージ ソリューションを次々とひっくり返し、最終的に成熟した安定した方法を比較することを選択しました。イニを読むこと。
転載は許可されていますが、出典を明記する必要があります。
メイン プログラム全体には、zipurl.php とindex.php の 2 つのファイルのみがあります
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();?><meta charset="utf-8"><title>ZIP your URL</title><link rel="stylesheet" href="assets/css/amazeui.min.css"><div class="am-g"> <div class=" col-md-8 col-sm-centered"> <form class="am-form" action="zipurl.php" method="get"> <fieldset class="am-form-set"> <input type="text" id="url" name="url" placeholder="输入你想转换的网址"> </fieldset> <div><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></div> </form> </div></div>
<?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).'";</script>';}main();#统计部分?><meta charset="utf-8"><title>ZIP your URL</title><link rel="stylesheet" href="assets/css/amazeui.min.css"><div class="am-g"> <div class=" col-md-8 col-sm-centered"> <form class="am-form" action="zipurl.php" method="get"> <fieldset class="am-form-set"> <input type="text" id="url" name="url" placeholder="输入你想转换的网址"> </fieldset> <button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button> </form> </div></div>
aaaaa=http://baidu.com