首頁  >  文章  >  後端開發  >  php中dirname,basename,pathinfo函數的差別及實例

php中dirname,basename,pathinfo函數的差別及實例

怪我咯
怪我咯原創
2017-05-25 09:58:182501瀏覽

在php中取得檔案的路徑、目錄或檔案名稱,我們常常會使用到dirname()basename()pathinfo()這三個函數,在前面的文章已經分別介紹了這三個函數,這篇文章主要向大家詳細介紹

這三個函數的區別以及使用實例。

dirname()函數

string dirname ( string $path )

php dirname函數取得給定檔案路徑中的目錄部分,參數$path是一個檔案路徑的字串

dirname()函數經常與魔術變數__FILE__一起使用,魔術變數__FILE__表示目前執行檔案的完整路徑和檔案名稱。

dirname(dirname(__FILE__));得到的是檔案上一層目錄名稱

dirname(__FILE__);得到的是檔案所在層目錄名稱

#如:

<?php
echo dirname("c:/testweb/home.php")."<br/>";
echo dirname("/testweb/home.php")."<br/><br/>";

echo __FILE__ ."<br/>";
echo dirname(__FILE__)."<br/>";
echo dirname(dirname(__FILE__));
?>

程式碼執行結果:

php中dirname,basename,pathinfo函數的差別及實例

#basename()函數

string basename ( string $path [, string $suffix ] )

php basename()函數取得路徑中的檔案名稱部分,該函數與dirname()正好相反(dirname取得路徑中的目錄部分)。

第一個參數$path表示一個包含有指向一個檔案的全路徑的字串,第二個參數表示如果檔案名稱是以suffix結束的,那麼這一部分也會被去掉。

實例如下:

<?php
var_dump(basename("/etc/sudoers.d", ".d"));
var_dump(basename("/etc/passwd"));
var_dump(basename("/etc/"));
var_dump(basename("."));
var_dump(basename("/"));
?>

#程式碼執行結果:

php中dirname,basename,pathinfo函數的差別及實例

##pathinfo()函數

php pathinfo函數用於解析路徑,將路徑解析為一個數組,數組包括目錄名、完整的文件名、文件擴展名和文件名(不包括文件後綴)四個值,而這四個值的鍵名分別為dirname、basename、extension和filename,我們可以透過這四個鍵名來取得目錄名稱、完整的檔案名稱、檔案副檔名和檔案名稱的值。

語法:

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

參數:

path 要解析的路徑。

options 如果指定了,將會傳回指定元素;它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。 如果沒有指定 options 預設是傳回全部的單元。

實例:

<?
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>

程式碼執行結果:

php中dirname,basename,pathinfo函數的差別及實例 ##

以上是php中dirname,basename,pathinfo函數的差別及實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn