PHP pathinfo()获得文件的路径、名称等信息说明

所属分类: 网络编程 / PHP编程 阅读数: 671
收藏 0 赞 0 分享

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实现在服务器端调整图片大小的方法,实例分析了imageResizer与loadimage操作图片的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php动态绑定变量的用法

这篇文章主要介绍了php动态绑定变量的用法,涉及php变量的判定与动态定义的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php实现读取和写入tab分割的文件

这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php正则preg_replace_callback函数用法实例

这篇文章主要介绍了php正则preg_replace_callback函数用法,实例分析了preg_replace_callback函数进行正则替换的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php将字符串随机分割成不同长度数组的方法

这篇文章主要介绍了php将字符串随机分割成不同长度数组的方法,涉及随机数及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php自动给网址加上链接的方法

这篇文章主要介绍了php自动给网址加上链接的方法,可实现对本文中的网址加上链接的功能,涉及正则匹配的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用socket post数据到其它web服务器的方法

这篇文章主要介绍了php使用socket post数据到其它web服务器的方法,涉及php使用socket传输数据的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用递归方式列出当前目录下所有文件的方法

这篇文章主要介绍了PHP使用递归方式列出当前目录下所有文件的方法,涉及php递归操作文件的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php获取指定范围内最接近数的方法

这篇文章主要介绍了php获取指定范围内最接近数的方法,可实现根据给定区间长度划分各个区间,并在其中寻找与给定数最接近的数,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用ob_flush不能每隔一秒输出原理分析

这篇文章主要介绍了php使用ob_flush不能每隔一秒输出原理,较为详细的分析了php使用ob_flush的相关原理与Linux下使用cli方式的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多