(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — 返回文件路徑的信息
$path
, int $flags
= PATHINFO_ALL
): array|string
pathinfo() 返回一個關(guān)聯(lián)數(shù)組包含有 path
的信息。返回關(guān)聯(lián)數(shù)組還是字符串取決于 flags
。
注意:
有關(guān)取得當(dāng)前路徑信息的說明,請閱讀 預(yù)定義變量 一節(jié)。
注意:
pathinfo() 純粹基于輸入字符串操作, 它不會受實際文件系統(tǒng)和類似 "
..
" 的路徑格式影響。
pathinfo() 是本地化的,所以為了讓它能正確地解析一個包含多字節(jié)編碼的路徑, 必須使用 setlocale() 函數(shù)來設(shè)置地區(qū)信息。
path
要解析的路徑。
flags
如果指定了,將會返回指定元素;它們包括:
PATHINFO_DIRNAME
、
PATHINFO_BASENAME
、
PATHINFO_EXTENSION
、
PATHINFO_FILENAME
。
如果沒有指定 flags
默認(rèn)是返回全部的單元。
如果沒有傳入 options
,將會返回包括以下單元的數(shù)組 array:dirname
,basename
和 extension
(如果有),以及filename
。
注意:
如果
path
有一個以上的擴(kuò)展名,PATHINFO_EXTENSION
只返回最后一個,而PATHINFO_FILENAME
僅剝離最后一個。 (參考第一個示例)。
注意:
如果
path
沒有擴(kuò)展名,返回數(shù)據(jù)中就不會有extension
元素。(參考第二個示例)
注意:
如果
path
中的basename
以點開始, 那后面的字符串將被解釋為extension
, 并且filename
為空。(參考第三個示例)
如果 flags
存在的,
則返回一個包含請求元素的 string。
示例 #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";
?>
以上例程會輸出:
/www/htdocs/inc lib.inc.php php lib.inc
示例 #2 pathinfo() 對比空擴(kuò)展名和無擴(kuò)展名之間區(qū)別的示例
<?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
示例 #3 pathinfo() 形如 .file 的示例
<?php
print_r(pathinfo('/some/path/.test'));
?>
以上例程的輸出類似于:
Array ( [dirname] => /some/path [basename] => .test [extension] => test [filename] => )