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,不用COM,生成excel文件
Oct 09 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
php版微信公众号接口实现发红包的方法
Oct 14 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
利用PHP生成CSV文件简单示例
Dec 21 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
PHP实现的多进程控制demo示例
Jul 22 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的FTP学习(三)
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python 常用的基础函数
2018/07/10 Python
Python阶乘求和的代码详解
2020/02/14 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
实习生自我评价
2014/01/18 职场文书
高二英语教学反思
2014/01/19 职场文书
先进集体获奖感言
2014/02/13 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
Python机器学习三大件之一numpy
2021/05/10 Python