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 href="https://www.jb51.net/assets/css/amazeui.min.css"> 
<div> 
  <div> 
    <form action="zipurl.php" method="get"> 
      <fieldset> 
        <input type="text" placeholder="输入你想转换的网址"> 
      </fieldset> 
      <div><button type="submit">转换</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 href="https://www.jb51.net/assets/css/amazeui.min.css"> 
<div> 
  <div> 
    <form action="zipurl.php" method="get"> 
      <fieldset> 
        <input type="text" placeholder="输入你想转换的网址"> 
      </fieldset> 
      <button type="submit">转换</button> 
    </form> 
  </div> 
</div>

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

运行效果如下图所示:

php短址转换实现方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/528d1dc947ff508bc05ada9fa10fa0c3.html