Rumah >pembangunan bahagian belakang >tutorial php >php基于字符串转换短址的方法

php基于字符串转换短址的方法

墨辰丷
墨辰丷asal
2018-06-13 09:55:501478semak imbas

这篇文章主要介绍了php短址转换实现方法,涉及网址及字符串的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了php短址转换实现方法。

具体分析如下:

从昨天下午到现在 推翻了一个又一个的信息存储方案,从mysql到加上内存不受限制的file_get_contents,再到格式化输入的fscanf,最终选择了比较成熟稳定的读取ini的方法。

整个主程序只有两个文件 zipurl.php、index.php

zipurl.php文件如下:

代码如下:

<?php   
//此文件用于转换url  
//整理url  
function dealurl($url)  
{  
    if($url[4]!=&#39;:&#39;)$url=&#39;http://&#39;.$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[&#39;url&#39;])  
    {  
        $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">  
<p class="am-g">  
  <p 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>  
      <p><button type="submit" class="am-btn am-btn-primary am-btn-block">转换</button></p>  
    </form>  
  </p>  
</p>

index.php文件如下:

代码如下:

<?php  
//查号   
//短址访问部分  
function readfiles($strs)  
{  
    $array=parse_ini_file("url.tmp",true);  
    var_dump($array);  
    return $array[$strs];  
}  
function main()  
{  
    //转到模块  
    if($str=$_SERVER[&#39;QUERY_STRING&#39;])  
    echo &#39;<script language="javascript">location.href="&#39;.readfiles($str).&#39;";</script>&#39;;  
}  
main();  
//统计部分  
?>  
<meta charset="utf-8">  
<title>ZIP your URL</title>  
<link rel="stylesheet" href="assets/css/amazeui.min.css">  
<p class="am-g">  
  <p 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>  
  </p>  
</p>

临时文件url.tmp:
aaaaa=http://baidu.com

运行效果如下图所示:

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

php实现将对象保存到Session中

简述php获得文件大小与创建时间的方法

PHP框架laravel安装与配置说明

Atas ialah kandungan terperinci php基于字符串转换短址的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn