PHP pathinfo()获得文件的路径、名称等信息说明


Posted in PHP onSeptember 13, 2011

PHP pathinfo() 函数

定义和用法

pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。
返回的数组元素如下:
[dirname]:返回文件路径中的目录部分
[basename]:返回文件路径中文件名的部分
[extension]:返回文件路径中文件的类型的部分
语法

pathinfo(path,options)

参数 描述
path 必需。规定要检查的路径。
options 可选。规定要返回的数组元素。默认是 all。 可能的值: PATHINFO_DIRNAME - 只返回 dirname PATHINFO_BASENAME - 只返回 basename PATHINFO_EXTENSION - 只返回 extension

提示和注释

注释:如果不是请求所有的元素,则 pathinfo() 函数返回字符串。
php开启pathinfo 路由模式:pathinfo 模式 需要 php.ini 开启下面这个参数
cgi.fix_pathinfo=1
path_info模式:http://www.xxx.com/index.php/模块/方法

实例 1

<?php
 print_r(pathinfo("/testweb/test.txt"));
 ?>

上面的代码将输出:

Array
 (
 [dirname] => /testweb
 [basename] => test.txt
 [extension] => txt
 )

实例 2

<?php
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_DIRNAME));
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_BASENAME));
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_EXTENSION));
 ?>

上面的代码将输出:
string(8)"/testweb"
string(8)"test.txt"
string(3)"txt"

假设现在有一个图片文件,它的服务器端路径为:

$path = "/www/mywebsite/images/myphoto.jpg";

1.pathinfo()函数
pathinfo()函数返回的是一个包含了文件信息的数组,数组中有四个元素,分别是dirname、basename、extension、filename。打印数组的代码:

$fileArr = pathinfo($path); 

print_r($fileArr); 

//输出结果:Array ( [dirname] => /www/mywebsite/images [basename] => myphoto.jpg [extension] => jpg [filename] => myphoto )

这样我们只需根据数组的键名就可以获得对应的键值:
echo $fileArr['filename']; 

//输出结果:myphoto 

echo $fileArr['extension']; 

//输出结果:jpg 

//...

2.dirname()函数
dirname()函数给出一个包含有指向一个文件的全路径的字符串,它返回的值去掉文件名后的目录名,可以认为是对pathinfo()函数的扩展:
echo dirname($path); 

//输出结果:/www/mywebsite/images 

//或者 

echo dirname("/www/mywebsite/images/"); 

echo dirname("/www/mywebsite/images"); 

//输出的结果都为:/www/mywebsite

所以可以理解为返回的值为路径的上一层目录地址名。
3.basename()函数
basename()函数给出一个包含有指向一个文件的全路径的字符串,他返回的值为基本的文件名,同样可以认为是对pathinfo()函数的扩展:
echo basename($path); 

//输出结果:myphoto.jpg 

//或者 

basename("/www/mywebsite/images/"); 

//输出结果:images

所以可以理解为返回的值为路径的当前目录的名称。
PHP 相关文章推荐
php+oracle 分页类
Oct 09 PHP
收集的PHP中与数组相关的函数
Mar 22 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php格式化金额函数分享
Feb 02 PHP
php计算整个目录大小的方法
Jun 19 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
php 流程控制switch的简单实例
Jun 07 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 PHP
PHP获取MAC地址的函数代码
Sep 11 #PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 #PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 #PHP
20个PHP常用类库小结
Sep 11 #PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 #PHP
php正则表达式(regar expression)
Sep 10 #PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 #PHP
You might like
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
numpy中的高维数组转置实例
2018/04/17 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
《在家里》教后反思
2014/03/01 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
房产公证委托书范本
2014/09/20 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
小学运动会报道稿
2014/10/04 职场文书
就业意向书范本
2015/05/11 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
SpringBoot+VUE实现数据表格的实战
2021/08/02 Java/Android
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL