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

相关文章

PHP基于GD2函数库实现验证码功能示例

PHP基于GD2函数库实现验证码功能示例

本文实例讲述了PHP基于GD2函数库实现验证码功能。分享给大家供大家参考,具体如下: 在正式制作验证码之前要先补充点知识,PHP使用GD2函数库实现对各种图形图像的处理,所以我们制作验证...

PHP分享图片的生成方法

PHP分享图片的生成方法

最近工作需求需要生成分享图片,最初用js的html2canvas截图插件各种问题,后来干脆PHP的PG库在后台生成图片,很愉快的解决了各种问题,我们要实现的效果如下图: 假设代码中用到...

PHP 函数call_user_func和call_user_func_array用法详解

call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法:第一种是调用孤独的函数:复制代码 代码如下:<?phpfunction funa($b,$c)...

深思 PHP 数组遍历的差异(array_diff 的实现)

function array_diff($array_1, $array_2) {     $diff =...

PHP令牌 Token改进版

正是由于使用了 base64 ,所以在把这个令牌通过 GET方法发送的时候,出现了问题。 比如:http://test/test.php?a=1+2 你用&...