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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
实用函数10
Nov 08 PHP
轻松修复Discuz!数据库
May 03 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
详解PHP中的PDO类
Jul 06 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
May 20 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php实现留言板功能
Mar 05 PHP
YII框架模块化处理操作示例
Apr 26 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使用MySQL保存session会话的方法
2015/06/26 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
php四种定界符详解
2017/02/16 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python异常学习笔记
2015/02/03 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
请说出你所知道的线程同步的方法
2013/04/19 面试题
车间班组长岗位职责
2013/11/13 职场文书
优秀中专生推荐信
2013/11/17 职场文书
万年牢教学反思
2014/02/15 职场文书
中学生打架检讨书
2014/10/13 职场文书
通知怎么写?
2019/04/17 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
mysql函数之截取字符串的实现
2022/08/14 MySQL