據我所知,使用PHP的basename()
功能,您可以從像這樣的路徑剝離已知文件擴展名,PHP條未知的文件擴展名
basename('path/to/file.php','.php')
,但如果你不知道這個文件有什麼擴展什麼或該延長的長度?我怎麼做到這一點?
在此先感謝!
據我所知,使用PHP的basename()
功能,您可以從像這樣的路徑剝離已知文件擴展名,PHP條未知的文件擴展名
basename('path/to/file.php','.php')
,但如果你不知道這個文件有什麼擴展什麼或該延長的長度?我怎麼做到這一點?
在此先感謝!
pathinfo()
已經講到這裏,但我喜歡從PHP 5.2添加它也有一個簡單的方法來訪問沒有擴展名的文件名。
$filename = pathinfo('path/to/file.php', PATHINFO_FILENAME);
$filename
的值將是file
。
$filename = preg_replace('@\.([^\.]+)[email protected]', '', $filename);
您可以使用pathinfo提取擴展名並將其剪下。
// $filepath = '/path/to/some/file.txt';
$ext = pathinfo($filepath, PATHINFO_EXTENSION);
$basename = basename($filepath, ".$ext");
注意.
前$ext
試試這個: -
$path = 'path/to/file.php';
$pathParts = pathinfo($path);
$pathWihoutExt = $pathParts['dirname'] . DIRECTORY_SEPARATOR . $pathParts['filename'];
你可以用這個嘗試:
$filepath = 'path/to/file.extension';
$extension = strtolower(substr(strrchr($filepath, '.'), 1));
太棒了,我忘了它。它應該是被接受的答案 - 沒有黑客,正則表達式,字符串操作和只有一行。 – galymzhan 2011-06-02 15:16:20
@galymzhan不用擔心接受的答案,我只是添加它以備將來參考。您的解決方案仍然適用於PHP <5.2的用戶。 – kapa 2011-06-02 15:18:00
謝謝我接受你的答案! - 這是一行代碼,更簡單一些。 – 2011-06-02 15:42:39