PHP使用dirname()、basename()和pathinfo()获得目录名和文件名
使用dirname()
,basename()
和pathinfo()
函数,可以很容易地使用PHP获取完整路径的文件名(filename)和目录名(directory name),其中pathinfo()
还包含文件扩展名。
完整文件路径的示例
这些示例中使用的完整文件路径是:
$path = “/var/www/mywebsite/htdocs/images/myphoto.jpg”;
使用dirname()获取目录名称
PHP的dirname()
函数只返回完整路径的目录部分。 这是通过简单地根据目录分隔符(/ 在基于文件系统的*nix上和 \ 在Windows上)排除完整路径的最后一部分来完成的,并且不检查它是否实际上是一个目录。
echo dirname($path)
将返回
/var/www/mywebsite/htdocs/images
注意以下两个:
echo dirname(“/var/www/mywebsite/htdocs/images/”);
echo dirname(“/var/www/mywebsite/htdocs/images”);
将返回
/var/www/mywebsite/htdocs
使用basename()获取文件名
要获取完整路径的文件名部分,请使用basename()
函数。 注意,它只是路径的最后一部分被认为是文件名,并且没有进行任何测试以查看它是否实际上是一个文件。
echo basename($path);
将返回
myphoto.jpg
而
echo basename(“/var/www/mywebsite/htdocs/images”);
将返回
images
使用pathinfo()获取目录名称、文件名和扩展名
PHP的pathinfo()
函数返回一个关联数组,其中包含basename,dirname,extension和(来自PHP 5.2.0)没有扩展名的文件名。
print_r(pathinfo($path));
将返回
Array
(
[dirname] => /var/www/mywebsite/htdocs/images
[basename] => myphoto.jpg
[extension] => jpg
[filename] => myphoto
)