在PHP中,可以透過函數取得一個檔案的路徑、名稱,或是副檔名等,是非常容易的一件事。可以使用我們前面所講的php pathinfo()函數或可以使用php dirname()函數,php basename()函數等多種途徑來獲得對應的資訊。
PHP pathinfo() 函數
定義和用法
pathinfo() 函數以陣列或字串的形式傳回關於檔案路徑的訊息。
傳回的陣列元素如下:
[dirname]:傳回檔案路徑中的目錄部分
[basename]:傳回檔案路徑中檔案名稱的部分
[extension]:傳回檔案路徑中文件的類型的部分
語法
pathinfo(path,options)
參數 | #描述 |
---|---|
必需。規定要檢查的路徑。 | |
可選。規定要傳回的數組元素。預設是 all。 | 可能的值:
|
提示與註解
「註記:如果不是請求所有的元素,則pathinfo() 函數傳回字串。php開啟pathinfo 路由模式:pathinfo 模式需要php.ini 開啟以下這個參數
cgi.fix_pathinfo=1
實例1
<?php print_r(pathinfo("/testweb/test.txt")); ?>
##實例2
<?php var_dump(pathinfo("/testweb/test.txt",PATHINFO_DIRNAME)); var_dump(pathinfo("/testweb/test.txt",PATHINFO_BASENAME)); var_dump(pathinfo("/testweb/test.txt",PATHINFO_EXTENSION)); ?>
上面的程式碼將輸出:
#假設現在有一個圖片文件,它的伺服器端路徑為:
# $path = "/www/mywebsite/images/myphoto.jpg";
pathinfo()函數傳回的是包含了檔案資訊的數組,數組中有四個元素,分別是dirname、basename、extension、filename。列印陣列的程式碼:
程式碼如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); print_r($fileArr); ?>
程式碼運行結果:
這樣我們只需根據陣列的鍵名就可以得到對應的鍵值:
程式碼如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo $fileArr['filename']."<br/>"; //输出结果:myphoto echo $fileArr['extension']; //输出结果:jpg ?>
##2.dirname()函數
dirname()函數給出一個包含有指向一個檔案的全路徑的字串,它傳回的值去掉檔案名稱後的目錄名,可以認為是對pathinfo()函數的擴充:
程式碼如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo dirname($path)."<br/>"; //输出结果:/www/mywebsite/images //或者 echo dirname("/www/mywebsite/images/")."<br/>"; echo dirname("/www/mywebsite/images"); //输出的结果都为:/www/mywebsite ?>
所以可以理解為傳回的值為路徑的上一層目錄位址名。
3.basename()函數
basename()函數給出一個包含有指向一個檔案的全路徑的字串,他回傳的值為基本的檔名,同樣可以認為是pathinfo()函數的擴充:
程式碼如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo basename($path)."<br/>"; //输出结果:myphoto.jpg //或者 echo basename("/www/mywebsite/images/"); //输出结果:images ?>
所以可以理解為傳回的值為路徑的目前目錄的名稱。
【相關文章推薦】:
1 .
詳解php dirname()函數取得檔案資訊用法##3 . 詳解php basename()函數取得檔案名稱的用法
以上是詳解php pathinfo()函數取得檔案的路徑、名稱等信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!