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 相关文章推荐
echo, print, printf 和 sprintf 区别
Dec 06 PHP
PHP文件上传实例详解!!!
Jan 02 PHP
PHP伪静态写法附代码
Jun 20 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
教你如何使用php session
Oct 28 PHP
php建立Ftp连接的方法
Mar 07 PHP
php类的定义与继承用法实例
Jul 07 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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 selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
Yii学习总结之安装配置
2015/02/22 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
php+redis实现消息队列功能示例
2019/09/19 PHP
js自带函数备忘 数组
2006/12/29 Javascript
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
用js实现in_array的方法
2013/11/05 Javascript
JS与C#编码解码
2013/12/03 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
Python 正则表达式(转义问题)
2014/12/15 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
django自带调试服务器的使用详解
2019/08/29 Python
python脚本后台执行方式
2019/12/21 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
新学期教师寄语
2014/04/02 职场文书
理想演讲稿范文
2014/05/21 职场文书
委托书格式
2014/08/01 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
库房管理员岗位职责
2015/02/12 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android