# pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pathinfo — 返回文件路径的信息

### 说明

pathinfo ( string `$path` [, int `$options` = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) : mixed

pathinfo() 返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 `options`。

### 参数

`path`

  要解析的路径。

`options`

  如果指定了，将会返回指定元素；它们包括：`PATHINFO_DIRNAME`，`PATHINFO_BASENAME` 和 `PATHINFO_EXTENSION` 或 `PATHINFO_FILENAME`。

  如果没有指定 `options` 默认是返回全部的单元。

### 返回值

如果没有传入 `options` ，将会返回包括以下单元的数组 array：dirname，basename 和 extension（如果有），以 及filename。

> Note:

> If the `path` does not have an extension, no extension element will be returned（以下第二个案例）。

If `options` is present, returns a string containing the requested element.

### 更新日志

版本 | 说明
--- | ---
5.2.0 | 添加了常量 `PATHINFO_FILENAME`。

### 范例

Example #1 pathinfo() 例子

    <?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

Example #2 pathinfo() example showing difference between null and 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

### 注释

> Note:

> 有关取得当前路径信息的说明，请阅读预定义变量一节。

> Note:

> pathinfo() is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set using the setlocale() function.

### 参见

- dirname() - 返回路径中的目录部分
- basename() - 返回路径中的文件名部分
- parse_url() - 解析 URL，返回其组成部分
- realpath() - 返回规范化的绝对路径名