您的位置:首頁技術文章
文章詳情頁

php獲取文件擴展名的3種方法實例

瀏覽:187日期:2022-06-06 18:14:53
目錄
  • 前言
  • PHP pathinfo()獲取文件擴展名
  • PHP SplFileInfo獲取文件后綴
  • PHP substr()和strrchr()函數獲取文件擴展名
  • 總結

前言

在php開發過程中,獲取文件擴展名是非常常見的需求。比如我們在上傳文件的時候,首先需要判斷文件類型是否為我們允許上傳的類型。這個時候就需要使用php來獲取文件的后綴或者說擴展名。

本文中,我們介紹三種php獲取文件擴展名的方法

  • 方法一:使用PHP pathinfo()獲取文件擴展名
  • 方法二:使用PHP SplFileInfo類獲取文件后綴
  • 方法三:使用PHP substr()和strrchr()函數獲取文件擴展名

PHP pathinfo()獲取文件擴展名

pathinfo() 函數以數組的形式返回關于文件路徑的信息。

返回的數組元素如下:

  • [dirname]: 目錄路徑
  • [basename]: 文件名
  • [extension]: 文件后綴名
  • [filename]: 不包含后綴的文件名

語法:

pathinfo(path,options)

參數描述:

參數描述path必需。規定要檢查的路徑。options可選。規定要返回的數組元素。默認是 all。

可能的值:

參數描述path必需。規定要檢查的路徑。options可選。規定要返回的數組元素。默認是 all。

可能的值:

  • PATHINFO_DIRNAME - 只返回 dirname
  • PATHINFO_BASENAME - 只返回 basename
  • PATHINFO_EXTENSION - 只返回 extension
  • PATHINFO_FILENAME - 只返回 filename

我們可以使用pathinfo()函數從字符串獲取文件擴展名。

例子:

$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類為單個文件的信息提供了一個高級的面向對象的接口。

我們可以使用SplFileInfo :: getExtension()函數提取文件擴展名。

SplFileInfo :: getExtension()函數是PHP中標準PHP庫(SPL)的內置函數,用于獲取文件擴展名。

語法:

string SplFileInfo::getExtension( void )

該函數不接受任何參數。該函數返回包含文件擴展名的字符串。

下面的示例說明了如何使用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()函數獲取文件擴展名

substr() 函數返回字符串的一部分。

strrchr() 函數查找字符串在另一個字符串中最后一次出現的位置,并返回從該位置到字符串結尾的所有字符。

結合這兩個函數的功能,我們可以寫一個php自定義函數獲取文件擴展名。

下面的自定義函數是我寫的:

function get_file_extension($file_name) {
    return substr(strrchr($file_name,"."),1);
}

注意:php獲取文件后綴的方法有很多種,本文章只列舉三種方法。各位php大佬也可以使用其他方法來實現。

總結

到此這篇關于php獲取文件擴展名的3種方法的文章就介紹到這了,更多相關php獲取文件擴展名內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
国产综合久久一区二区三区