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 更新数据库中断的解决方法
Jun 05 PHP
PHP通过header实现文本文件下载的代码
Aug 08 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php画图实例
Nov 05 PHP
PHP文件读取功能的应用实例
May 08 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
php compact 通过变量创建数组
Nov 15 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 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
星际争霸任务指南——人族
2020/03/04 星际争霸
咖啡知识大全
2021/03/03 新手入门
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
node跨域请求方法小结
2017/08/25 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
python处理document文档保留原样式
2019/09/23 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
服务中心夜班服务员岗位职责
2013/11/27 职场文书
个人求职信范例
2014/01/29 职场文书
2014和解协议书范文
2014/09/15 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
年底个人总结范文
2015/03/10 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js