php短址转换实现方法

yipeiwu_com7年前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"> 
<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>

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"> 
<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>

临时文件url.tmp:
aaaaa=http://baidu.com

运行效果如下图所示:

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP查询大量数据内存耗尽问题的解决方法

从数据库查询大量数据时会出现内容不够的提示: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 这个...

php采集速度探究总结(原创)

 注意:下面的所有函数都没有用正则。 以上为取出第一个匹配的三个函数,实现相同的目的 function str_cut($str ,$start, ...

php中使用session防止用户非法登录后台的方法

本文实例讲述了php中使用session防止用户非法登录后台的方法。分享给大家供大家参考。具体如下: 一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读...

PHP实现机器学习之朴素贝叶斯算法详解

本文实例讲述了PHP实现机器学习之朴素贝叶斯算法。分享给大家供大家参考,具体如下: 机器学习已经在我们的生活中变得随处可见了。比如从你在家的时候温控器开始工作到智能汽车以及我们口袋中的智...

php开发环境配置记录

【apache安装】 复制代码 代码如下: httpd.exe -k install -n "apache2.2.15" httpd.exe -k start -n "apache2.2...