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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
php获取twitter最新消息的方法
Apr 14 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
php post大量数据时发现数据丢失问题解决方法
Jun 20 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
php微信支付接口开发程序
Aug 02 PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 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代码(星期六,星期日总和)
2009/11/12 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
Python3 replace()函数使用方法
2018/03/19 Python
flask session组件的使用示例
2018/12/25 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
Python笔记之facade模式
2019/11/20 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
什么是属性访问器
2015/10/26 面试题
经理职责范文
2013/11/08 职场文书
物业管理员岗位职责范文
2013/11/25 职场文书
人力资源作业细则
2014/03/03 职场文书
导游个人求职信
2014/04/25 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电