首頁 >後端開發 >php教程 >如何利用php實現短網址跳轉

如何利用php實現短網址跳轉

*文
*文原創
2017-12-25 15:40:512543瀏覽

如何利用php實現短網址跳轉?本文主要介紹了php短網址轉換實作方法,涉及網址及字串的操作技巧,具有一定參考借鏡價值。希望對大家有幫助!

從昨天下午到現在推翻了一個又一個的信息存儲方案,從mysql到加上內存不受限制的file_get_contents,再到格式化輸入的fscanf,最終選擇了比較成熟穩定的讀取ini的方法。

整個主程式只有兩個檔案zipurl.php、index.php

zipurl.php檔案如下:

<?php   
//此文件用于转换url  
//整理url  
function dealurl($url)  
{  
    if($url[4]!=&#39;:&#39;)$url=&#39;http://&#39;.$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[&#39;url&#39;])  
    {  
        $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[&#39;QUERY_STRING&#39;])  
    echo &#39;<script language="javascript">location.href="&#39;.readfiles($str).&#39;";</script>&#39;;  
}  
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實作模擬http請求的方法

#php如何透過http請求傳送陣列的實例分享

php實作會員登陸註冊頁有html加Session和Cookie

#

以上是如何利用php實現短網址跳轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn