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 远程关机操作的代码
Dec 05 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
Laravel框架实现的记录SQL日志功能示例
Jun 19 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
PHP面向对象法则
2012/02/23 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
php实现简单四则运算器
2020/11/29 PHP
基于JQuery制作的产品广告效果
2010/12/08 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
爬山算法简介和Python实现实例
2014/04/26 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python自定义线程池实现方法分析
2018/02/07 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
青年文明号事迹材料
2014/01/18 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
求职面试个人自我评价
2014/02/28 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS