PHP URL参数获取方式的四种例子


Posted in PHP onFebruary 28, 2014

在已知URL参数的情况下,我们可以根据自身情况采用$_GET来获取相应的参数信息($_GET['name']);那,在未知情况下如何获取到URL上的参数信息呢?

第一种、利用$_SERVER内置数组变量

相对较为原始的$_SERVER['QUERY_STRING']来获取,URL的参数,通常使用这个变量返回的会是类似这样的数据:name=tank&sex=1
如果需要包含文件名的话可以使用$_SERVER["REQUEST_URI"](返回类似:/index.php?name=tank&sex=1)

第二种、利用pathinfo内置函数


<?php
$test = pathinfo("http://localhost/index.php");
print_r($test);
/*
结果如下
Array
(
     [dirname] => http://localhost //url的路径
     [basename] => index.php  //完整文件名
     [extension] => php  //文件名后缀
     [filename] => index //文件名
)
*/
?>

第三种、利用parse_url内置函数

<?php
$test = parse_url("http://localhost/index.php?name=tank&sex=1#top");
print_r($test);
/*
结果如下
Array
(
     [scheme] => http //使用什么协议
     [host] => localhost //主机名
     [path] => /index.php //路径
     [query] => name=tank&sex=1 // 所传的参数
     [fragment] => top //后面根的锚点
)
*/
?>

第四种、利用basename内置函数


<?php
$test = basename("http://localhost/index.php?name=tank&sex=1#top");
echo $test;
/*
结果如下
index.php?name=tank&sex=1#top
*/
?>

另外,还有就是自己通过正则匹配的处理方式来获取需要的值了。这种方式较为精确,效率暂不考虑。。。
下面拓展实践下正则处理方式:

<?php
preg_match_all("/(\w+=\w+)(#\w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match);
print_r($match);
/*
结果如下
Array
(
    [0] => Array
        (
            [0] => name=tank
            [1] => sex=1#top
        )
    [1] => Array
         (
            [0] => name=tank
             [1] => sex=1
         )
     [2] => Array
        (
             [0] =>
            [1] => #top
        )
)
*/
?>

路途漫漫...还有待继续挖掘...

PHP 相关文章推荐
PHP调用三种数据库的方法(2)
Oct 09 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
input file获得文件根目录简单实现
Apr 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
PHP数组与字符串互相转换实例
May 05 PHP
php使用多个进程同时控制文件读写示例
Feb 28 #PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 #PHP
php命名空间学习详解
Feb 27 #PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 #PHP
php中的strpos使用示例
Feb 27 #PHP
php判断字符串在另一个字符串位置的方法
Feb 27 #PHP
php汉字转拼音的示例
Feb 27 #PHP
You might like
php解析xml方法实例详解
2015/05/12 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
JavaScript中的类继承
2010/11/25 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
React实现全选功能
2020/08/25 Javascript
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python实现简单购物商城
2016/05/21 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python探索之自定义实现线程池
2017/10/27 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
String这个类型的class为何定义成final?
2012/11/13 面试题
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
个人简历的自荐信
2013/10/23 职场文书
岗位职责范本
2013/11/23 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
竞聘书格式及范文
2014/03/31 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL