php獲取文件擴展名的3種方法實例
前言
在php開發(fā)過程中,獲取文件擴展名是非常常見的需求。比如我們在上傳文件的時候,首先需要判斷文件類型是否為我們允許上傳的類型。這個時候就需要使用php來獲取文件的后綴或者說擴展名。
本文中,我們介紹三種php獲取文件擴展名的方法
- 方法一:使用PHP pathinfo()獲取文件擴展名
- 方法二:使用PHP SplFileInfo類獲取文件后綴
- 方法三:使用PHP substr()和strrchr()函數(shù)獲取文件擴展名
PHP pathinfo()獲取文件擴展名
pathinfo() 函數(shù)以數(shù)組的形式返回關(guān)于文件路徑的信息。
返回的數(shù)組元素如下:
- [dirname]: 目錄路徑
- [basename]: 文件名
- [extension]: 文件后綴名
- [filename]: 不包含后綴的文件名
語法:
pathinfo(path,options)
參數(shù)描述:
參數(shù)描述path必需。規(guī)定要檢查的路徑。options可選。規(guī)定要返回的數(shù)組元素。默認是 all。
可能的值:
| 參數(shù) | 描述 |
|---|---|
| path | 必需。規(guī)定要檢查的路徑。 |
| options | 可選。規(guī)定要返回的數(shù)組元素。默認是 all。 可能的值:
|
我們可以使用pathinfo()函數(shù)從字符串獲取文件擴展名。
例子:
$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類為單個文件的信息提供了一個高級的面向?qū)ο蟮慕涌凇?/p>
我們可以使用SplFileInfo :: getExtension()函數(shù)提取文件擴展名。
SplFileInfo :: getExtension()函數(shù)是PHP中標準PHP庫(SPL)的內(nèi)置函數(shù),用于獲取文件擴展名。
語法:
string SplFileInfo::getExtension( void )
該函數(shù)不接受任何參數(shù)。該函數(shù)返回包含文件擴展名的字符串。
下面的示例說明了如何使用SplFileInfo類獲取文件擴展名。
<?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ù)獲取文件擴展名
substr() 函數(shù)返回字符串的一部分。
strrchr() 函數(shù)查找字符串在另一個字符串中最后一次出現(xiàn)的位置,并返回從該位置到字符串結(jié)尾的所有字符。
結(jié)合這兩個函數(shù)的功能,我們可以寫一個php自定義函數(shù)獲取文件擴展名。
下面的自定義函數(shù)是我寫的:
function get_file_extension($file_name) {
return substr(strrchr($file_name,'.'),1);
}注意:php獲取文件后綴的方法有很多種,本文章只列舉三種方法。各位php大佬也可以使用其他方法來實現(xiàn)。
總結(jié)
到此這篇關(guān)于php獲取文件擴展名的3種方法的文章就介紹到這了,更多相關(guān)php獲取文件擴展名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP實現(xiàn)實時生成并下載超大數(shù)據(jù)量的EXCEL文件詳解
EXCEL文件的處理是我們在日常工作中經(jīng)常會遇到的,這篇文章主要給大家介紹了關(guān)于利用PHP如何實現(xiàn)實時生成并下載超大數(shù)據(jù)量的EXCEL文件,通過文中介紹的這個方法對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10
在ThinkPHP6中使用mysql進行分頁查詢的實現(xiàn)代碼
隨著互聯(lián)網(wǎng)的快速發(fā)展,web應用程序的開發(fā)也越來越復雜,而分頁查詢是web應用程序中常見的功能之一,thinkphp6是一個web框架,可以幫助開發(fā)人員快速開發(fā)應用程序,在本文中,我們將討論如何在thinkphp6中使用mysql進行分頁查詢,需要的朋友可以參考下2024-07-07
PHP偽靜態(tài)Rewrite設(shè)置之APACHE篇
Rewirte主要的功能就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等2014-07-07
PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實現(xiàn)方法
這篇文章主要介紹了PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實現(xiàn)方法,涉及php面向?qū)ο髥卫J綌?shù)據(jù)庫連接類的定義與使用方法,以及緩存實現(xiàn)頁面靜態(tài)化相關(guān)操作技巧,需要的朋友可以參考下2019-03-03

