主页 M

php短网址转换实现代码

2015-02-28 网页编程网 网页编程网

 

     从mysql到加上内存不受限制的file_get_contents,再到格式化输入的fscanf,最终选择了比较成熟稳定的读取ini的方法。
整个主程序只有两个文件 zipurl.php、index.php

1、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>星座之家 www.xingzuo51.com</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>
2、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>
 

阅读原文
阅读 3483
123 显示电脑版