PHP
文件系统 | File System

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_DIRNAMEPATHINFO_BASENAMEPATHINFO_EXTENSIONPATHINFO_FILENAME

如果options未指定,则返回所有可用的元素。

返回值

如果options参数未传递,则返回包含以下元素的关联数组:dirnamebasename扩展名(如果有)和文件名

注意:如果path有多个扩展名,PATHINFO_EXTENSION则只返回最后一个扩展名,并PATHINFO_FILENAME仅删除最后一个扩展名。(见下面的第一个例子)。

注意:如果path没有扩展名,则不会返回扩展名元素(请参阅下面的第二个示例)。

注意:如果基名的的path以点开始,下面的字符被解释为延伸,并且文件名是空的(见下面的第三个例子)。

如果options存在,则返回一个包含请求元素的字符串。

Changelog

版本描述
5.2.0PATHINFO_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 →