本文实例讲述了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",$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程序设计有所帮助。