dirname

(PHP 4, PHP 5, PHP 7, PHP 8)

dirname返回路径中的目录部分

说明

dirname ( string $path , int $levels = 1 ) : string

给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名,且目录深度为 levels 级。

注意:

dirname() 纯粹基于输入字符串操作, 它不会受实际文件系统和类似 ".." 的路径格式影响。

警告

dirname() 是本地化的,所以如果要正确处理多字节字符的路径,需要用 setlocale() 正确设置匹配的 locale。

参数

path

一个路径。

在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。

levels

要向上的父目录数量。

整型,必须大于 0。

返回值

返回 path 的父目录。 如果在 path 中没有斜线,则返回一个点('.'),表示当前目录。否则返回的是把 path 中结尾的 /component(最后一个斜线以及后面部分)去掉之后的字符串。

更新日志

版本 说明
7.0.0 添加可选的 levels 参数。

范例

示例 #1 dirname() 例子

<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo 
dirname("/etc/") . PHP_EOL;
echo 
dirname(".") . PHP_EOL;
echo 
dirname("C:\\") . PHP_EOL;
echo 
dirname("/usr/local/lib"2);

以上例程的输出类似于:

/etc
/ (or \ on Windows)
.
C:\
/usr

参见