0
A
回答
1
您可以使用任何這些:
$ext = substr(strrchr(FILENAME, '.'), 1);
$ext = substr(FILENAME, strrpos(FILENAME, '.') + 1);
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', FILENAME);
它們的性能差異可以忽略不計(即使像500萬次跑;使用phpcb測試與PHP 7)
的pathinfo()
就像......非常慢,與此相比,只需獲得(最後)擴展名。
+0
感謝您給出性能信息,我不知道pathinfo()比替代方法滯後如此糟糕。 – FrenchMajesty
0
您可以使用子字符串方法「substr」來獲取最後一個發生期後的最後幾個字符,我可以用「strrpos」找到它。
strrpos
(See doc here)如果未找到最後一個匹配項,則返回false,如果匹配,則返回匹配索引。
$mystring = 'stackoverflow.png';
$pos = strrpos($mystring,'.');
if($pos === false) { // Note the triple '='
// not found..
}else{
echo substr($mystring, $pos); // print '.png'
}
0
雖然傑斐遜的回答是正確的,基於這個問題,更簡單的解決方案是使用PATHINFO_EXTENSION。
pathinfo('/path/to/file/image.jpg', PHPINFO_EXTENSION); // returns 'jpg'
相關問題
- 1. SSIS以「指定」結尾的輸入變量名稱 - 爲什麼?
- 2. 檢查目錄路徑以「。」,「..」結尾
- 3. 以?結尾的變量類型?
- 4. 爲什麼final變量不可檢查?
- 5. 我可以檢查一個字符串是否以null結尾,但不檢查它是否以NULL結尾
- 6. 爲什麼方法名以0結尾?
- 7. css類變量的結尾
- 8. 目錄路徑變量是否應以尾部斜線結尾?
- 9. 什麼更有效?檢查==或只是變量變量?
- 10. 爲什麼這些引用以Sublime Text 2結尾PHP查詢?
- 11. 什麼是以下變量?
- 12. 在Fortran中,以'#'開頭和/或以'c'結尾的常量是什麼意思?
- 13. Powershell檢查什麼環境變量已經改變
- 14. 檢查變量
- 15. 檢查變量,得到下一個變量,檢查變量等
- 16. 檢測以Android結尾的安裝
- 17. 質數檢查爲什麼會檢查大數量的錯誤結果?
- 18. 序言:connect4檢查對角線結尾
- 19. 檢查電子郵件的結尾
- 20. bash中變量結尾處的echo asterix
- 21. 將變量注入到結尾
- 22. 如何查找以I,J或IJ結尾的變量名的基本部分
- 23. 如何檢查線程是否以Python結尾
- 24. Grep檢查以EOL開頭或結尾的PHP文件
- 25. .NET StringBuilder - 檢查是否以字符串結尾
- 26. php - 檢查字符串是否以圖片擴展名結尾
- 27. rails檢查url是否以數字結尾
- 28. 檢查字符串是否以jquery結尾的問號
- 29. 檢查NSString是否以字符串結尾
- 30. 如何檢查argv [1]是否以特定字符結尾?
可能的重複[如何從PHP中的路徑找到圖像的擴展?](http://stackoverflow.com/questions/3179294/how-to-find-the-extension-of-an-image- from-path-in-php) –