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&amp;mysql(二)
Oct 09 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
PHP循环语句笔记(foreach,list)
Nov 29 PHP
PHP header()函数常用方法总结
Apr 11 PHP
PHP生成随机密码类分享
Jun 25 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
使用PHP实现下载CSS文件中的图片
Dec 06 PHP
phpmailer绑定邮箱的实现方法
Dec 01 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
php获取YouTube视频信息的方法
2015/02/11 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
Python科学计算之NumPy入门教程
2017/01/15 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
python读写csv文件的方法
2019/08/13 Python
使用Tkinter制作信息提示框
2020/02/18 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
Spy++的使用方法及下载教程
2021/01/29 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
11月红领巾广播稿
2014/01/17 职场文书
讲座主持词
2014/03/20 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
公积金贷款承诺书
2015/04/30 职场文书
植物园观后感
2015/06/11 职场文书
技术入股合作协议书
2016/03/21 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android