在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__)); ?>
程式碼執行結果:
#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("/")); ?>
#程式碼執行結果:
##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中文網其他相關文章!