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 相关文章推荐
Apache服务器无法使用的解决方法
May 08 PHP
10个简化PHP开发的工具
Dec 25 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
php文件读取方法实例分析
Jun 20 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
微信小程序和php的登录实现
Apr 01 PHP
php实例化对象的实例方法
Nov 17 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP 实现链式操作
2021/03/09 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
简单谈谈javascript高级特性
2019/09/04 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python列表推导式入门学习解析
2019/12/02 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
python ubplot使用方法解析
2020/01/10 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
三好学生自我鉴定
2013/12/17 职场文书
员工年终演讲稿
2014/01/03 职场文书
组织关系转移介绍信
2014/01/16 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
考研经验交流会策划书
2015/11/02 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android