php獲取文件擴(kuò)展名的3種方法實(shí)例
目錄
- 前言
- PHP pathinfo()獲取文件擴(kuò)展名
- PHP SplFileInfo獲取文件后綴
- PHP substr()和strrchr()函數(shù)獲取文件擴(kuò)展名
- 總結(jié)
前言
在php開發(fā)過(guò)程中,獲取文件擴(kuò)展名是非常常見的需求。比如我們?cè)谏蟼魑募臅r(shí)候,首先需要判斷文件類型是否為我們?cè)试S上傳的類型。這個(gè)時(shí)候就需要使用php來(lái)獲取文件的后綴或者說(shuō)擴(kuò)展名。
本文中,我們介紹三種php獲取文件擴(kuò)展名的方法
- 方法一:使用PHP pathinfo()獲取文件擴(kuò)展名
- 方法二:使用PHP SplFileInfo類獲取文件后綴
- 方法三:使用PHP substr()和strrchr()函數(shù)獲取文件擴(kuò)展名
PHP pathinfo()獲取文件擴(kuò)展名
pathinfo() 函數(shù)以數(shù)組的形式返回關(guān)于文件路徑的信息。
返回的數(shù)組元素如下:
- [dirname]: 目錄路徑
- [basename]: 文件名
- [extension]: 文件后綴名
- [filename]: 不包含后綴的文件名
語(yǔ)法:
pathinfo(path,options)
參數(shù)描述:
參數(shù)描述path必需。規(guī)定要檢查的路徑。options可選。規(guī)定要返回的數(shù)組元素。默認(rèn)是 all。
可能的值:
參數(shù)描述path必需。規(guī)定要檢查的路徑。options可選。規(guī)定要返回的數(shù)組元素。默認(rèn)是 all。可能的值:
- PATHINFO_DIRNAME - 只返回 dirname
- PATHINFO_BASENAME - 只返回 basename
- PATHINFO_EXTENSION - 只返回 extension
- PATHINFO_FILENAME - 只返回 filename
我們可以使用pathinfo()函數(shù)從字符串獲取文件擴(kuò)展名。
例子:
$file = "folder/directory/file.html"; $ext = pathinfo($file, PATHINFO_EXTENSION); // Returns html echo $ext; $file = "folder/directory/file.html"; $ext = pathinfo($file); echo $ext["dirname"] . "<br/>"; // Returns folder/directory echo $ext["basename"] . "<br/>"; // Returns file.html echo $ext["extension"] . "<br/>"; // Returns .html echo $ext["filename"] . "<br/>"; // Returns file
PHP SplFileInfo獲取文件后綴
SplFileInfo類為單個(gè)文件的信息提供了一個(gè)高級(jí)的面向?qū)ο蟮慕涌凇?/p>
我們可以使用SplFileInfo :: getExtension()函數(shù)提取文件擴(kuò)展名。
SplFileInfo :: getExtension()函數(shù)是PHP中標(biāo)準(zhǔn)PHP庫(kù)(SPL)的內(nèi)置函數(shù),用于獲取文件擴(kuò)展名。
語(yǔ)法:
string SplFileInfo::getExtension( void )
該函數(shù)不接受任何參數(shù)。該函數(shù)返回包含文件擴(kuò)展名的字符串。
下面的示例說(shuō)明了如何使用SplFileInfo類獲取文件擴(kuò)展名。
<?php $GFG = array( "/home/rajvir/Desktop/GeeksforGeeks/dummy.php", "/home/rajvir/Desktop/gfg.txt", "/var/www/html/gfg.php", "demo.c" ); foreach ($GFG as &$file_name) { // Create new SPlFileInfo Object $file = new SplFileInfo($file_name); // Print result echo $file->getExtension() . "</br>"; } ?>
輸出:
php
txt
php
c
PHP substr()和strrchr()函數(shù)獲取文件擴(kuò)展名
substr() 函數(shù)返回字符串的一部分。
strrchr() 函數(shù)查找字符串在另一個(gè)字符串中最后一次出現(xiàn)的位置,并返回從該位置到字符串結(jié)尾的所有字符。
結(jié)合這兩個(gè)函數(shù)的功能,我們可以寫一個(gè)php自定義函數(shù)獲取文件擴(kuò)展名。
下面的自定義函數(shù)是我寫的:
function get_file_extension($file_name) { return substr(strrchr($file_name,"."),1); }
注意:php獲取文件后綴的方法有很多種,本文章只列舉三種方法。各位php大佬也可以使用其他方法來(lái)實(shí)現(xiàn)。
總結(jié)
到此這篇關(guān)于php獲取文件擴(kuò)展名的3種方法的文章就介紹到這了,更多相關(guān)php獲取文件擴(kuò)展名內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
