这篇文章主要介绍了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"> <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['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"> <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基于字符串转换短址的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)