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 相关文章推荐
php基础知识:类与对象(5) static
Dec 13 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
php实现TCP端口检测的方法
Apr 01 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
May 14 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 PHP
详细分析PHP 命名空间(namespace)
Jun 30 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
php中大括号作用介绍
2012/03/22 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
简洁的十分钟Python入门教程
2015/04/03 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
详解Scrapy Redis入门实战
2020/11/18 Python
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
酒店管理专业学生求职信
2013/09/27 职场文书
护士专业推荐信
2013/11/02 职场文书
成考报名单位证明范本
2014/01/16 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
走进科学观后感
2015/06/18 职场文书
黑白记忆观后感
2015/06/18 职场文书
高中同学会致辞
2015/08/01 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js