不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2012-09-21 17:13:14  修改时间:2024-04-29 07:21:03  分类:PHP基础  编辑
在PHP中,若想通过函数获得一个文件的路径、名称,或者是扩展名等,是非常容易的一件事。可以使用dirname()、basename()、pathinfo()等多种途径获得相应的信息。

假设现在有一个图片文件,它的服务器端路径为:
$path = "/www/mywebsite/images/myphoto.jpg"

1.pathinfo()函数 

pathinfo()函数返回的是一个包含了文件信息的数组,数组中有四个元素,分别是dirnamebasenameextensionfilename。打印数组的代码:
$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

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