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 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP 柱状图实现代码
Dec 04 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
html静态页面调用php文件的方法
Nov 13 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 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
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
使用Apache的rewrite
2021/03/09 Servers
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
python装饰器练习题及答案
2019/11/01 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
我为自己代言广告词
2014/03/18 职场文书
分家协议书
2014/04/21 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
应届生求职信
2014/05/31 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
离婚协议书的范本
2015/01/27 职场文书
满月酒邀请函
2015/01/30 职场文书
会计求职自荐信范文
2015/03/04 职场文书
办公室岗位职责范本
2015/04/11 职场文书
趣味运动会赞词
2015/07/22 职场文书