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 相关文章推荐
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
php面象对象数据库操作类实例
Dec 02 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
PHP与Perl之间知识点区别整理
Mar 19 PHP
php use和include区别总结
Oct 13 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 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
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
jquery获取input的value问题说明
2010/08/19 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
在Django的视图(View)外使用Session的方法
2015/07/23 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python iter()函数用法实例分析
2018/03/17 Python
django静态文件加载的方法
2018/05/20 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python 移动光标位置的方法
2019/01/20 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
西北政法大学自主招生自荐信
2014/01/29 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书