php使用函数pathinfo()、parse_url()和basename()解析URL
本文主要介绍的是php使用函数pathinfo()
、parse_url()
和basename()
解析URL的实例代码,下面话不多说,直接来看代码
实例代码如下:
1、利用pathinfo解析URL
<? $test = pathinfo("http://localhost/index.php"); print_r($test); ?>
结果如下
Array ( [dirname] => http://localhost //url的路径 [basename] => index.php //完整文件名 [extension] => php //文件名后缀 [filename] => index //文件名 )
2、利用parse_url()函数解析
<? $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 //后面根的锚点 )
3、使用basename()解析
<? $test = basename("http://localhost/index.php?name=tank&sex=1#top"); echo $test; ?>
结果如下
index.php?name=tank&sex=1#top
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
Nginx配置PATHINFO隐藏thinkphp index.php
Nginx配置PATHINFO隐藏index.php Nginx配置文件里放入这段代码 server { listen 80; default_type text/plain; root /var/www/html; index index.php index.htm index.html; #隐藏index.php location / { if (!-e $request_filename) { #一级目录 # rewrite ^/(.*)$ /index.php/$1 last; #二级目
-
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
网上搜了很多方法都不奏效,研究了一天,发现通过以下的配置可以完美支持 'URL_MODEL' => 2 的情况了 复制代码 代码如下: location /project/ { index index.php; if (!-e $request_filename) { rewrite ^/project/(.*)$ /project/index.php/$1 last; break; } } location ~ .+\.php($|/) { set $script $uri; set $pat
-
PHP pathinfo()获得文件的路径、名称等信息说明
PHP pathinfo() 函数 定义和用法 pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息. 返回的数组元素如下: [dirname]:返回文件路径中的目录部分 [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 语法 pathinfo(path,options) 参数 描述 path 必需.规定要检查的路径. options 可选.规定要返回的数组元素.默认是 all. 可能的值: PATHINFO_DIRNAME
-
PHP url的pathinfo模式加载不同控制器的简单实现
使用自动加载和解析url的参数,实现调用到不同的控制器,实现了pathinfo模式和普通的url模式 文件结构: |--Controller |--Index |--Index.php |--Application.php Application.php <?php class Application{ public static function main(){ header("content-type:text/html;charset=utf-8"); self::regi
-
Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
概述 在上一篇文章Nginx配置Thinkphp支持URL Rewrite中已经介绍了如何配置Nginx支持ThinkPHP的URL Rewrite,但是上文针对的是Centos平台,这次因为某些特殊的原因,服务器环境必须用ubuntu,本来以为和Cetons中一模一样,但是配置完了发现不能使用,所以就百度了一些文章. 配置方法 TP官方解决方案 复制代码 代码如下: location ~ .php { #原有代码
-
PHP命令行执行整合pathinfo模拟定时任务实例
命令行模式下,根据传参,调用不同控制器.控制器中根据配置定时执行指定方法 Application.php <?php class Application{ public static function main(){ header("content-type:text/html;charset=utf-8"); self::register(); self::commandLine(); self::pathInfo(); } //自动加载 public static funct
-
Nginx隐藏index.php和Pathinfo模式配置例子
参照一下对应修改,重启nginx即可 复制代码 代码如下: server { listen 80; server_name www.leiyongbo.com www.leiyongbo.com; root /usr/local/web; index index.php; error_page 400 /errpage/400.html; error_page 403 /errpage/403.h
-
在nginx中配置pathinfo模式支持thinkphp的URL重写
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容: 复制代码 代码如下: set $path_info "";set $real_script_name $fas
-
nginx+thinkphp下解决不支持pathinfo模式
nginx环境问题弄了两天,发现网上很多人的帖子要么复制粘贴,要么就是没有结贴,还自己写一句"哈哈,我自己解决了"之类的,这点我就鄙视这些发帖的同胞了,你说你问题问了,问题解决了也不给个解释.还在搜索的前几页,想没想过需要答案的人的感受呢.满心欢喜的去看答案,发现没有结贴.好吧,不多说,进入正题. 我这种方式是不需要将URL_Model改为rewrite/兼容的: 大约第43行,按照下面的对照自己的code进行修改,请注意细节的符号: location / { root C:/Zend
-
详解PHP中pathinfo()函数导致的安全问题
定义和用法 pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息. 返回的数组元素如下: [dirname]:返回文件路径中的目录部分 [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 语法 pathinfo(path,options) 参数 path: 必需.规定要检查的路径. options 可选.规定要返回的数组元素.默认是 all. 可能的值: PATHINFO_DIRNAME - 只返回 dirname PATHI
随机推荐
- Laravel框架实现redis集群的方法分析
- jQuery 1.9版本以上的浏览器判断方法代码分享
- AngularJS 获取ng-repeat动态生成的ng-model值实例详解
- Java 替换字符串中的回车换行符的方法
- mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题
- IOS 中UIApplication详解及实例
- Asp.net Core 初探(发布和部署Linux)
- JavaScript中常用的运算符小结
- jQuery实现的鼠标滑过弹出放大图片特效
- 实例详解Linxu中df命令
- FLEX 事件机制-自定义事件介绍
- shell判断文件是否为空的代码
- Python中for循环控制语句用法实例
- 为jQuery增加join方法的实现代码
- Windows操作系统的加速安装经验谈
- Python实现的朴素贝叶斯分类器示例
- django 2.0更新的10条注意事项总结
- java+vue实现添加单选题、多选题到题库功能
- 详解vue中移动端自适应方案
- Java面向接口编程之命令模式实例详解