這篇文章主要介紹了php短址轉換實現方法,涉及網址及字符串的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php短址轉換實作方法。
具體分析如下:
從昨天下午到現在推翻了一個又一個的資訊儲存方案,從mysql到加上記憶體不受限制的file_get_contents,再到格式化輸入的fscanf ,最終選擇了比較成熟穩定的讀取ini的方法。
整個主程式只有兩個檔案zipurl.php、index.php
zipurl.php檔案如下:
#程式碼如下:
<?php //此文件用于转换url //整理url function 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"> <p class="am-g"> <p 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> <p><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></p> </form> </p> </p>
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).'";</script>'; } main(); //统计部分 ?> <meta charset="utf-8"> <title>ZIP your URL</title> <link rel="stylesheet" href="assets/css/amazeui.min.css"> <p class="am-g"> <p 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> </p> </p>
暫存檔案url.tmp:
aaaaa=http://baidu.com
運行效果如下圖所示:
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
以上是php基於字串轉換短址的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!