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获得文件扩展名三法
Nov 25 PHP
php zend 相对路径问题
Jan 12 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
php随机显示图片的简单示例
Feb 15 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
php实现数组重复数字统计实例
Sep 30 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
通过url查找a元素并点击
2014/04/09 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python 多线程应用介绍
2012/12/19 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
Python交互式图形编程的实现
2019/07/25 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
详解Python yaml模块
2020/09/23 Python
python利用opencv保存、播放视频
2020/11/02 Python
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
优秀村官事迹材料
2014/01/10 职场文书
综合管理员岗位职责
2015/02/11 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
大学生社会实践感想
2015/08/11 职场文书
小学语文新课改心得体会
2016/01/22 职场文书