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程序设计有所帮助。