2011-05-09 76 views
2

遇到我有像這樣的路徑字符串:截斷從最後一個字符串,直到一個字符在PHP

C:/myfolder/mysubfolder/myfile.doc 

我需要截斷該字符串變成:

myfile.doc 

不用比如說,我有一個不同長度和不同文件夾深度的路徑列表。我需要的是類似於從字符串的最後一個字符串開始直到遇到第一個字符串爲止的字符串的其餘部分。

我該如何在PHP中實現這一點。

非常感謝

回答

2

您可以使用basename()函數。

echo basename("C:/myfolder/mysubfolder/myfile.doc"); 

輸出:

myfile.doc 

注意,這不正是你所描述的事情,因爲這些投入爲:

/etc/ 
. 

它將返回

etc 
. 

所以一個(未經測試的)替代品可以是:

$fullname = "C:/myfolder/mysubfolder/myfile.doc"; 
$parts = explode("/", $fullname); 
$filename = $parts[count($parts)-1]; 
echo $filename; 
+0

如果一個假設,可能存在非文件在列表中,其所需,這一切都是一個文件,應該使用'is_file()' – KingCrunch 2011-05-09 09:15:32

+0

非常詳細和翔實。謝謝工作很棒! – seedg 2011-05-09 12:00:18

3
$path = 'C:/myfolder/mysubfolder/myfile.doc': 
$filename = basename($path); 
echo $filename; // "myfile.doc" 

Manual "basename()"。有關路徑的更多詳細信息,請參見pathinfo()

相關問題