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实现文件上传二法
Oct 09 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
iOS10推送通知开发教程
Sep 19 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
php封装的验证码类分享
Feb 26 PHP
PHP ADODB实现分页功能简单示例
May 25 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
phpStorm+XDebug+chrome 配置详解
Apr 01 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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
模仿OSO的论坛(二)
2006/10/09 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
js 单引号 传递方法
2009/06/22 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
python连接MySQL数据库实例分析
2015/05/12 Python
Python循环语句中else的用法总结
2016/09/11 Python
python提取log文件内容并画出图表
2019/07/08 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
争论的故事教学反思
2014/02/06 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技