php短址转换实现方法


Posted in PHP onFebruary 25, 2015

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

PHP 相关文章推荐
屏蔽浏览器缓存另类方法
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
PHP设计模式之命令模式的深入解析
Jun 13 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php上传excel表格并获取数据
Apr 27 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
php中mysql连接方式PDO使用详解
Feb 25 #PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 #PHP
Mac OS下配置PHP+MySql环境
Feb 25 #PHP
php禁止某ip或ip地址段访问的方法
Feb 25 #PHP
php+ajax实时刷新简单实例
Feb 25 #PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 #PHP
php基于GD库画五星红旗的方法
Feb 24 #PHP
You might like
php利用单例模式实现日志处理类库
2014/02/10 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
javascript的内存管理详解
2013/08/07 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
js断点调试经验分享
2017/12/08 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python实现115网盘自动下载的方法
2014/09/30 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python如何实现内容写在图片上
2018/03/23 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
用python制作个音乐下载器
2021/01/30 Python
为什么group by 和order by会使查询变慢
2014/05/16 面试题
大学本科毕业生的自我鉴定
2013/11/26 职场文书
小学教师培训感言
2014/02/11 职场文书
岗位聘任书范文
2014/03/29 职场文书
房屋转让协议书范本
2014/04/11 职场文书
仓库管理计划书
2014/05/04 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
Elasticsearch 索引操作和增删改查
2022/04/19 Python