首頁  >  文章  >  後端開發  >  詳解php pathinfo()函數取得檔案的路徑、名稱等信息

詳解php pathinfo()函數取得檔案的路徑、名稱等信息

怪我咯
怪我咯原創
2017-06-02 13:38:493824瀏覽

在PHP中,可以透過函數取得一個檔案的路徑、名稱,或是副檔名等,是非常容易的一件事。可以使用我們前面所講的php pathinfo()函數或可以使用php dirname()函數,php basename()函數等多種途徑來獲得對應的資訊。

PHP pathinfo() 函數

定義和用法

pathinfo() 函數以陣列或字串的形式傳回關於檔案路徑的訊息。
傳回的陣列元素如下:
[dirname]:傳回檔案路徑中的目錄部分
[basename]:傳回檔案路徑中檔案名稱的部分
[extension]:傳回檔案路徑中文件的類型的部分
語法

pathinfo(path,options)
##path必需。規定要檢查的路徑。 options可選。規定要傳回的數組元素。預設是 all。
參數 #描述
可能的值:

  • PATHINFO_DIRNAME - 只回傳dirname

  • PATHINFO_BASENAME - 只傳回basename

  • #PATHINFO_EXTENSION - 只傳回extension

提示與註解

「註記:如果不是請求所有的元素,則pathinfo() 函數傳回字串。

php開啟pathinfo 路由模式:pathinfo 模式需要php.ini 開啟以下這個參數

cgi.fix_pathinfo=1

path_info模式:h t t p://www.xxx.com/index.php/ 模組/方法


實例1

 <?php
 print_r(pathinfo("/testweb/test.txt"));
 ?>


#上面的程式碼將輸出:

詳解php pathinfo()函數取得檔案的路徑、名稱等信息##實例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));
 ?>

上面的程式碼將輸出:


詳解php pathinfo()函數取得檔案的路徑、名稱等信息#假設現在有一個圖片文件,它的伺服器端路徑為:

# $path = "/www/mywebsite/images/myphoto.jpg";

#1.pathinfo()函數

pathinfo()函數傳回的是包含了檔案資訊的數組,數組中有四個元素,分別是dirname、basename、extension、filename。列印陣列的程式碼:

 程式碼如下:

<?php
$path = "/www/mywebsite/images/myphoto.jpg";
$fileArr = pathinfo($path);
print_r($fileArr);
?>

程式碼運行結果:

詳解php pathinfo()函數取得檔案的路徑、名稱等信息這樣我們只需根據陣列的鍵名就可以得到對應的鍵值:

程式碼如下:

<?php
$path = "/www/mywebsite/images/myphoto.jpg";
$fileArr = pathinfo($path);
echo $fileArr[&#39;filename&#39;]."<br/>";
//输出结果:myphoto
echo $fileArr[&#39;extension&#39;];
//输出结果:jpg
?>

程式碼運行結果:

詳解php pathinfo()函數取得檔案的路徑、名稱等信息##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
?>

程式碼運行結果:

所以可以理解為傳回的值為路徑的上一層目錄位址名。 詳解php pathinfo()函數取得檔案的路徑、名稱等信息


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
?>

程式碼運行結果:

所以可以理解為傳回的值為路徑的目前目錄的名稱。 詳解php pathinfo()函數取得檔案的路徑、名稱等信息

【相關文章推薦】:

1 . 

詳解php pathinfo()函數取得檔案路徑資訊2.

詳解php dirname()函數取得檔案資訊用法

##3 . 詳解php basename()函數取得檔案名稱的用法

以上是詳解php pathinfo()函數取得檔案的路徑、名稱等信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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