php函数dirname、basename、pathinfo获取文件路径、名称、扩展名

admin
admin
admin
374
文章
102
评论
2022年3月30日08:00:05
评论
217

在PHP中,若想通过函数获得一个文件的路径、名称,或者是扩展名等,是非常容易的一件事。可以使用dirname()、basename()、pathinfo()等多种途径获得相应的信息。

1、pathinfo函数

pathinfo()函数返回的是一个包含了文件信息的数组,数组中有四个元素,分别是dirname(路径名)、basename(文件全名)、extension(扩展名)、filename(文件名)。如果不是请求所有的元素,则 pathinfo() 函数返回字符串。

函数格式:pathinfo(path,options)

path必需。规定要检查的路径。

options可选。规定要返回的数组元素。默认是 all。可能的值:

PATHINFO_DIRNAME - 只返回 dirname

PATHINFO_BASENAME - 只返回 basename

PATHINFO_EXTENSION - 只返回 extension

假设现在有一个图片文件,它的服务器端路径为/www/web/images/mypic.jpg

$path = "/www/web/images/mypic.jpg";
$fileArr = pathinfo($path);
print_r($fileArr);

//输出结果:

Array ( 
[dirname] => /www/mywebsite/images 
[basename] => mypic.jpg 
[extension] => jpg 
[filename] => mypic 
)

这样我们只需根据数组的键名就可以获得对应的键值:

echo $fileArr['filename'];
//输出结果:mypic

echo $fileArr['extension'];
//输出结果:jpg

2、dirname()函数

dirname()函数是对pathinfo()函数的扩展。

如果给出一个包含有指向一个文件的全路径的字符串,它返回的值是去掉文件名后的目录名。

$path = "/www/web/images/mypic.jpg";
echo dirname($path);
//输出结果:/www/web/images
echo dirname("/www/web/images/");
echo dirname("/www/web/images");
//输出的结果都为:/www/web,所以可以理解为返回的值为路径的上一层目录地址名。

3、basename()函数

basename()函数同样可以认为是对pathinfo()函数的扩展,给出一个包含有指向一个文件的全路径的字符串,他返回的值为基本的文件名(不含扩展名)

$path = "/www/web/images/mypic.jpg";
echo basename($path);
//输出结果:myphoto.jpg

//或者
basename("/www/web/images/");
//输出结果:images

所以可以理解为返回的值为路径的当前目录的名称。

admin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: