|
|
|
|
|
使用dirname()
,basename()
和pathinfo()
函數(shù),可以很容易地使用PHP獲取完整路徑的文件名(filename)和目錄名(directory name),其中pathinfo()
還包含文件擴(kuò)展名。
完整文件路徑的示例
這些示例中使用的完整文件路徑是:
$path = "/var/www/mywebsite/htdocs/images/myphoto.jpg";
使用dirname()獲取目錄名稱
PHP的dirname()
函數(shù)只返回完整路徑的目錄部分。 這是通過簡(jiǎn)單地根據(jù)目錄分隔符(/ 在基于文件系統(tǒng)的*nix上和 \ 在Windows上)排除完整路徑的最后一部分來完成的,并且不檢查它是否實(shí)際上是一個(gè)目錄。
echo dirname($path)
將返回
/var/www/mywebsite/htdocs/images
注意以下兩個(gè):
echo dirname("/var/www/mywebsite/htdocs/images/");
echo dirname("/var/www/mywebsite/htdocs/images");
將返回
/var/www/mywebsite/htdocs
使用basename()獲取文件名
要獲取完整路徑的文件名部分,請(qǐng)使用basename()
函數(shù)。 注意,它只是路徑的最后一部分被認(rèn)為是文件名,并且沒有進(jìn)行任何測(cè)試以查看它是否實(shí)際上是一個(gè)文件。
echo basename($path);
將返回
myphoto.jpg
而
echo basename("/var/www/mywebsite/htdocs/images");
將返回
images
使用pathinfo()獲取目錄名稱、文件名和擴(kuò)展名
PHP的pathinfo()
函數(shù)返回一個(gè)關(guān)聯(lián)數(shù)組,其中包含basename,dirname,extension和(來自PHP 5.2.0)沒有擴(kuò)展名的文件名。
print_r(pathinfo($path));
將返回
Array
(
[dirname] => /var/www/mywebsite/htdocs/images
[basename] => myphoto.jpg
[extension] => jpg
[filename] => myphoto
)