当前位置:首页 > PHP教程 > php应用 > 列表

php短址转换实现方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-14 23:12:11 浏览: 评论:0 

这篇文章主要介绍了php短址转换实现方法,涉及网址及字符串的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了php短址转换实现方法。分享给大家供大家参考。具体分析如下:

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

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

zipurl.php文件如下:

  1. <?php   
  2. //此文件用于转换url  
  3. //整理url  
  4. function dealurl($url)  
  5. {  
  6.     if($url[4]!=':')$url='http://'.$url;  
  7.     return $url;  
  8. }  
  9. function ranum()  
  10. {  
  11. $str="0123456789abcdefghijklmnopqrstuvwxyz";  
  12. $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)];  
  13. return $tmp;  
  14. }  
  15. //存号  
  16. function zipurl($urls)  
  17. {  
  18.     //查号去重  
  19.     $handle = fopen("url.tmp","r+");  
  20.     $array=parse_ini_file("url.tmp",true);  
  21.     if(array_search($urls$array))return array_search($urls$array);  
  22.     $num=ranum();  
  23.     fprintf($handle,"%s=%s\r",$num,$urls);  
  24.     fclose($handle);  
  25.     return $num;  
  26. }  
  27. function main()  
  28. {  
  29.     if($url=$_GET['url'])  
  30.     {  
  31.         $url=dealurl($url);  
  32.         $url=zipurl($url);  
  33.         echo "http://localhost/?".$url;  
  34.     }  
  35. }  
  36. main();  
  37. ?>  
  38. <meta charset="utf-8">  
  39. <title>ZIP your URL</title>  
  40. <link rel="stylesheet" href="assets/css/amazeui.min.css">  
  41. <div class="am-g">  
  42.   <div class=" col-md-8 col-sm-centered">  
  43.     <form class="am-form" action="zipurl.php" method="get">  
  44.       <fieldset class="am-form-set">  
  45.         <input type="text" id="url" name="url" placeholder="输入你想转换的网址">  
  46.       </fieldset>  
  47.       <div><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></div>  
  48.     </form>  
  49.   </div>  
  50. </div> 

index.php文件如下:

  1. <?php  
  2. //查号   
  3. //短址访问部分  
  4. function readfiles($strs)  
  5. {  
  6.     $array=parse_ini_file("url.tmp",true);  
  7.     var_dump($array);  
  8.     return $array[$strs];  
  9. }  
  10. function main()  
  11. {  
  12.     //转到模块  
  13.     if($str=$_SERVER['QUERY_STRING'])  
  14.     echo '<script language="javascript">location.href="'.readfiles($str).'";</script>';  
  15. }  
  16. main();  
  17. //统计部分  
  18. ?>  
  19. <meta charset="utf-8">  
  20. <title>ZIP your URL</title>  
  21. <link rel="stylesheet" href="assets/css/amazeui.min.css">  
  22. <div class="am-g">  
  23.   <div class=" col-md-8 col-sm-centered">  
  24.     <form class="am-form" action="zipurl.php" method="get">  
  25.       <fieldset class="am-form-set">  
  26.         <input type="text" id="url" name="url" placeholder="输入你想转换的网址">  
  27.       </fieldset>  
  28.       <button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button>  
  29.     </form>  
  30.   </div>  
  31. </div> 

临时文件url.tmp:

aaaaa=http://baidu.com

Tags: php短址转换

分享到: