php短址转换实现方法

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

相关文章

完美解决dedecms中的[html][/html]和[code][/code]问题

终于解决了完美解决dedecms中的[html][/html]和[code][/code]问题,因为我的php不太熟练,所以正则搞了好几天,才能好,这次主要修改了discuz5.5和de...

PHP打开和关闭文件操作函数总结

PHP打开和关闭文件操作函数总结

在处理文件内容之前,通常需要建立与文件资源的连接,即打开文件。同样,结束该资源的操作后,应当关闭连接资源。所谓打开文件,实际是建立文件的各种有关信息,并使文件指针指向该文件,就可以发起输...

php cli 方式 在crotab中运行解决

复制代码 代码如下: /var/www/html/bt/e/BtSys:.:/usr/share/pear:/usr/share/phpPHP Warning: require(../c...

linux下为php添加iconv模块的方法

./configure --with-mysql=/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --w...

php源码的使用方法讲解

PHP程序都要用MYSQL,如果没有MYSQL,就不能用它们. 第一:配置数据库信息,改成自己所需的; 第二:导入数据库; 第三:安装wamp5 输入 http://127...