當前位置: 首頁> 最新文章列表> pathinfo 返回了什麼? PHP 中pathinfo 返回值結構完整解析

pathinfo 返回了什麼? PHP 中pathinfo 返回值結構完整解析

gitbox 2025-06-09

pathinfo函數簡介

pathinfo函數用於返回關於給定路徑的信息,它接受一個文件路徑作為參數,並返回一個包含有關該路徑的數組。該數組提供了路徑的各個部分,如目錄路徑、文件名和文件擴展名。

pathinfo函數的語法

pathinfo(string $path): array
  • $path :輸入的路徑,可以是文件的絕對路徑或相對路徑。

該函數返回一個包含以下鍵的數組:

  • 'dirname' :路徑的目錄部分。

  • 'basename' :文件名(包括擴展名)。

  • 'extension' :文件的擴展名。

  • 'filename' :去掉擴展名後的文件名。


返回值的結構

pathinfo函數返回一個關聯數組,數組包含四個鍵值對。下面是每個鍵的詳細說明:

1. dirname

  • 含義:文件的目錄部分,即文件在系統中的存放路徑。

  • 示例
    給定路徑/var/www/html/index.phpdirname返回/var/www/html

2. basename

  • 含義:文件的名稱部分,包括文件的擴展名。

  • 示例
    給定路徑/var/www/html/index.phpbasename返回index.php

3. extension

  • 含義:文件的擴展名,僅包含文件名後綴部分。

  • 示例
    給定路徑/var/www/html/index.phpextension返回php

4. filename

  • 含義:文件名部分,不包含擴展名。

  • 示例
    給定路徑/var/www/html/index.phpfilename返回index


示例代碼

<?php
$filePath = '/var/www/html/index.php';

// 獲取路徑信息
$pathInfo = pathinfo($filePath);

// 輸出結果
echo '目錄路徑: ' . $pathInfo['dirname'] . PHP_EOL;
echo '文件名: ' . $pathInfo['basename'] . PHP_EOL;
echo '擴展名: ' . $pathInfo['extension'] . PHP_EOL;
echo '文件名(不含擴展名): ' . $pathInfo['filename'] . PHP_EOL;
?>

輸出:

 目錄路徑: /var/www/html
文件名: index.php
擴展名: php
文件名(不含擴展名): index

URL 中的應用

在一些情況下,我們可能需要將URL 路徑傳遞給pathinfo函數來解析URL 中的文件名或擴展名。請注意, pathinfo只能解析文件路徑,因此我們需要在使用時將URL 中的路徑部分提取出來。

例如,假設你有如下URL:

 $url = "https://www.gitbox.net/images/logo.png";
$parsedUrl = parse_url($url);
$pathInfo = pathinfo($parsedUrl['path']);

// 輸出結果
echo '文件名: ' . $pathInfo['basename'] . PHP_EOL;
echo '擴展名: ' . $pathInfo['extension'] . PHP_EOL;

輸出:

 文件名: logo.png
擴展名: png

適用場景

  1. 文件上傳處理:在文件上傳時,可以使用pathinfo來獲取上傳文件的文件名、擴展名,從而進行驗證或處理。

  2. 路徑操作:在處理動態生成的文件路徑時, pathinfo能幫助開發者拆解路徑並提取所需部分。

  3. URL 解析:當需要從URL 中提取文件名或擴展名時,結合parse_urlpathinfo可以方便地獲得相關信息。