php獲取文件擴(kuò)展名的3種方法實(shí)例
前言
在php開(kāi)發(fā)過(guò)程中,獲取文件擴(kuò)展名是非常常見(jiàn)的需求。比如我們?cè)谏蟼魑募臅r(shí)候,首先需要判斷文件類(lèi)型是否為我們?cè)试S上傳的類(lèi)型。這個(gè)時(shí)候就需要使用php來(lái)獲取文件的后綴或者說(shuō)擴(kuò)展名。
本文中,我們介紹三種php獲取文件擴(kuò)展名的方法
- 方法一:使用PHP pathinfo()獲取文件擴(kuò)展名
- 方法二:使用PHP SplFileInfo類(lèi)獲取文件后綴
- 方法三:使用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()函數(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類(lèi)為單個(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類(lèi)獲取文件擴(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ù)的功能,我們可以寫(xiě)一個(gè)php自定義函數(shù)獲取文件擴(kuò)展名。
下面的自定義函數(shù)是我寫(xiě)的:
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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別介紹
本篇文章是對(duì)PHP跳出循環(huán)的方法以及continue、break、exit的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07PHP隨機(jī)數(shù)生成代碼與使用實(shí)例分析
在PHP程序設(shè)計(jì)中,隨機(jī)數(shù)的生成尤為重要。我們需要用隨機(jī)數(shù)在我們的頁(yè)面中展示隨機(jī)記錄(比如圖片、用戶(hù)記錄、文章ID等)。2011-04-04php+Ajax處理xml與json格式數(shù)據(jù)的方法示例
這篇文章主要介紹了php+Ajax處理xml與json格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了ajax處理xml格式數(shù)據(jù)及json格式數(shù)據(jù)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-03-03