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模板技术原理【一】
Jan 10 PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
PHP学习之数组的定义和填充
Apr 17 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
Jun 06 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 PHP
PHP laravel中的多对多关系实例详解
Jun 07 PHP
laravel框架查询数据集转为数组的两种方法
Oct 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和ACCESS写聊天室(九)
2006/10/09 PHP
PHP-MySQL教程归纳总结
2008/06/07 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
从零学Python之入门(二)基本数据类型
2014/05/25 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python3多线程基础知识点
2019/02/19 Python
python文本数据处理学习笔记详解
2019/06/17 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
英国医生在线预约:Top Doctors
2019/10/30 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
暑期社会实践方案
2014/02/05 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
物理学专业自荐信
2014/06/11 职场文书
励志演讲稿300字
2014/08/21 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
社区党建工作总结2015
2015/05/13 职场文书
音乐会主持人开场白
2015/05/28 职场文书
安全第一课观后感
2015/06/18 职场文书