php短址转换实现方法
更新时间:2015年02月25日 14:43:55 作者:Radish_Ghost
这篇文章主要介绍了php短址转换实现方法,涉及网址及字符串的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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>
//此文件用于转换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>
//查号
//短址访问部分
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程序设计有所帮助。
相关文章
ThinkPHP模板标签eq if 中区分0,null,false的方法
下面小编就为大家带来一篇ThinkPHP模板标签eq if 中区分0,null,false的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03PHP模拟asp.net的StringBuilder类实现方法
这篇文章主要介绍了PHP模拟asp.net的StringBuilder类实现方法,较为简单的模拟了StringBuilder类针对文本的基本操作技巧,需要的朋友可以参考下2015-08-08PHP pthreads v3下worker和pool的使用方法示例
这篇文章主要介绍了PHP pthreads v3下worker和pool的使用方法,结合实例形式分析了PHP pthreads v3下worker和pool的基本功能、原理、使用方法及相关操作注意事项,需要的朋友可以参考下2020-02-02
最新评论