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技术开发技巧分享
Mar 23 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
PHP实现的购物车类实例
Jun 17 PHP
PHP处理会话函数大总结
Aug 05 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP解析url并得到url参数方法总结
Oct 11 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带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
javascript 表单规则集合对象
2009/07/21 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
浅谈python中get pass用法
2019/03/19 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python实现序列化及csv文件读取
2020/01/19 Python
python 安装impala包步骤
2020/03/28 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
丑小鸭教学反思
2014/02/03 职场文书
电子专业求职信
2014/06/19 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
公务员年度个人总结
2015/02/12 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP