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 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
Oct 22 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP5.3新特性小结
Feb 14 PHP
php中的抽象方法和抽象类
Feb 14 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
PHP join()函数用法与实例讲解
Mar 11 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 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
php include的妙用,实现路径加密
2008/07/29 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
js闭包的用途详解
2014/11/09 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
vue.js表格分页示例
2016/10/18 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
详解python中docx库的安装过程
2019/11/08 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
python logging 日志的级别调整方式
2020/02/21 Python
python实现126邮箱发送邮件
2020/05/20 Python
python selenium xpath定位操作
2020/09/01 Python
Python hashlib模块的使用示例
2020/10/09 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
商务日语专业毕业生自荐信
2014/03/27 职场文书
一般党员对照检查材料
2014/09/24 职场文书
委托书英文
2015/01/28 职场文书
2015年共青团工作总结
2015/05/15 职场文书
培训计划通知
2015/07/15 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
暑假打工感想
2015/08/07 职场文书
安全教育的主题班会
2015/08/13 职场文书
教师培训学习心得体会
2016/01/21 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python