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+APACHE实现用户论证的方法
Oct 09 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
php中return的用法实例分析
Feb 28 PHP
php生成图片缩略图的方法
Apr 07 PHP
js代码实现微博导航栏
Jul 30 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
Laravel框架实现的记录SQL日志功能示例
Jun 19 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 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 进度条函数的简单实例
2017/09/19 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
imgAreaSelect 中文文档帮助说明
2011/10/08 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中的XML库4Suite Server的介绍
2015/04/14 Python
python定时器(Timer)用法简单实例
2015/06/04 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
python实例化对象的具体方法
2020/06/17 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
党员干部承诺书
2014/03/25 职场文书
公司委托书范本
2014/04/04 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
金融管理专业求职信
2014/07/10 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers