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 相关文章推荐
Classes and Objects in PHP5-面向对象编程 [1]
Oct 09 PHP
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
Jan 06 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
CodeIgniter整合Smarty的方法详解
Aug 25 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
Oct 09 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 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中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
php常用的工具开发整理
2019/09/26 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
大学生毕业鉴定
2014/01/31 职场文书
商务助理求职信范文
2014/04/20 职场文书
日语专业求职信
2014/07/04 职场文书
个人总结怎么写
2015/02/26 职场文书
财务人员入职担保书
2015/09/22 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
入门学习Go的基本语法
2021/07/07 Golang