pathinfo
pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pathinfo - 返回关于文件路径的信息
描述
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
pathinfo()
返回关于path
:关联数组或字符串的信息,具体取决于options
。
注意
:有关检索当前路径信息的信息,请阅读有关预定义保留变量的部分。
警告
pathinfo()
是可识别区域的,因此为了正确解析包含多字节字符的路径,必须使用setlocale()函数设置匹配的区域设置。
参数
path
要解析的路径。
options
如果存在,则指定要返回的特定元素;中的一个PATHINFO_DIRNAME
,PATHINFO_BASENAME
,PATHINFO_EXTENSION
或PATHINFO_FILENAME
。
如果options
未指定,则返回所有可用的元素。
返回值
如果options
参数未传递,则返回包含以下元素的关联数组:dirname
,basename
,扩展名
(如果有)和文件名
。
注意
:如果path
有多个扩展名,PATHINFO_EXTENSION
则只返回最后一个扩展名,并PATHINFO_FILENAME
仅删除最后一个扩展名。(见下面的第一个例子)。
注意
:如果path
没有扩展名
,则不会返回扩展名
元素(请参阅下面的第二个示例)。
注意
:如果基名
的的path
以点开始,下面的字符被解释为延伸
,并且文件名
是空的(见下面的第三个例子)。
如果options
存在,则返回一个包含请求元素的字符串。
Changelog
版本 | 描述 |
---|---|
5.2.0 | PATHINFO_FILENAME常量已添加。 |
示例
Example #1 pathinfo() Example
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php'
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>
上面的例子将输出:
/www/htdocs/inc
lib.inc.php
php
lib.inc
示例#2 pathinfo()示例显示了null和no extension之间的区别
<?php
$path_parts = pathinfo('/path/emptyextension.'
var_dump($path_parts['extension']
$path_parts = pathinfo('/path/noextension'
var_dump($path_parts['extension']
?>
上面的例子会输出类似于:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
Example #3 pathinfo() example for a dot-file
<?php
print_r(pathinfo('/some/path/.test')
?>
上面的例子会输出类似于:
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
另请参阅
- dirname() - 返回父目录的路径
- basename() - 返回路径的结尾名称组件
- parse_url() - 解析URL并返回其组件
- realpath() - 返回规范化的绝对路径名
← parse_ini_string
pclose →