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 相关文章推荐
实时抓取YAHOO股票报价的代码
Oct 09 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php 字符串替换的方法
Jan 10 PHP
PHP+jQuery实现自动补全功能源码
May 15 PHP
php的ajax简单实例
Feb 27 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
php 7新特性之类型申明详解
Jun 06 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
详解PHP神奇又有用的Trait
Mar 25 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
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python调用百度REST API实现语音识别
2018/08/30 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
Python列表元素常见操作简单示例
2019/10/25 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
Django ORM filter() 的运用详解
2020/05/14 Python
python GUI模拟实现计算器
2020/06/22 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
幼儿评语大全
2014/04/30 职场文书
护林防火标语
2014/06/27 职场文书
工作总结与自我评价
2014/09/18 职场文书
教师党员个人总结
2015/02/10 职场文书
男生贾里读书笔记
2015/06/30 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS