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 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
php读取数据库信息的几种方法
May 24 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
怎样使用php与jquery设置和读取cookies
Aug 08 PHP
PHP date函数常用时间处理方法
May 11 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
PHPstorm激活码2020年5月13日亲测有效
Sep 17 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下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
php标签云的实现代码
2012/10/10 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
解决React Native端口号修改的方法
2017/07/28 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python格式化css文件的方法
2015/03/10 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
Python延时操作实现方法示例
2018/08/14 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
GWT都有什么特性
2016/12/02 面试题
分厂厂长岗位职责
2013/12/29 职场文书
单位单身证明范本
2014/01/11 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
现场施工员岗位职责
2015/04/11 职场文书
详解python的内存分配机制
2021/05/10 Python
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
python实现学员管理系统(面向对象版)
2022/06/05 Python