php獲取路徑、目錄或文件名稱,咱們常常會使用到dirname()、basename()、pathinfo()這三個函數,本文章向你們詳細介紹這三個函數的區別以及使用實例,須要的朋友能夠參考一下。php
dirname()函數html
string dirname ( string $path )
php dirname函數獲取給定文件路徑中的目錄部分,參數$path是一個文件路徑的字符串web
dirname()函數常常與魔術變量__FILE__一塊兒使用,魔術變量__FILE__表示當前運行文件的完整路徑和文件名。數組
dirname(dirname(__FILE__));獲得的是文件上一層目錄名函數
dirname(__FILE__);獲得的是文件所在層目錄名網站
如:url
<?php /* 做者:碼農教程 網站地址: http://www.manongjc.com */ 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__)); ?>
運行結果爲:spa
c:/testweb /testweb E:\wamp\www\test.php E:\wamp\www E:\wamp
basename()函數code
string basename ( string $path [, string $suffix ] )
php basename()函數獲取路徑中的文件名部分,該函數與dirname()正好相反(dirname獲取路徑中的目錄部分)。htm
第一個參數$path表示一個包含有指向一個文件的全路徑的字符串,第二個參數表示若是文件名是以suffix結束的,那這一部分也會被去掉。
實例以下:
<?php /* 做者:碼農教程 http://www.manongjc.com/article/30.html */ var_dump(basename("/etc/sudoers.d", ".d")); var_dump(basename("/etc/passwd")); var_dump(basename("/etc/")); var_dump(basename(".")); var_dump(basename("/")); ?>
運行結果:
string(7) "sudoers" string(6) "passwd" string(3) "etc" string(1) "." string(0) ""
pathinfo()函數
php pathinfo函數用於解析路徑,將路徑解析爲一個數組,數組包括目錄名、完整的文件名、文件擴展名和文件名(不包括文件後綴)四個值,而且這四個值的鍵名分別爲dirname、basename、extension和filename,咱們能夠經過這四個鍵名來獲取目錄名、完整的文件名、文件擴展名和文件名的值。
語法:
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
參數:
實例:
<? /* 做者:碼農教程 http://www.manongjc.com/article/30.html */ $test = pathinfo("http://localhost/index.php"); print_r($test); ?>
結果以下
Array ( [dirname] => http://localhost //url的路徑 [basename] => index.php //完整文件名 [extension] => php //文件名後綴 [filename] => index //文件名 )