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输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
php图片处理函数获取类型及扩展名实例
Nov 19 PHP
php实现博客,论坛图片防盗链的方法
Oct 15 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
Laravel 连接(Join)示例
Oct 16 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
PHP copy函数使用案例代码解析
Sep 01 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版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
js实现列表按字母排序
2020/08/11 Javascript
python实现发送邮件功能
2017/07/22 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
技术总监的工作职责
2013/11/13 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
装修公司管理制度
2015/08/05 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
Java中的随机数Random
2022/03/17 Java/Android