首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 獲取檔案副檔名的 9 種實用方法總結

     編輯:PHP 綜合知識

本文匯總 9 種 PHP 獲取文件擴展名的方法,涵蓋路徑解析、字符串操作、正則匹配等技巧,供開發者根據場景選擇最高效方案。

// 方法一:explode + end
function get_extension($file) { return end(explode('.', $file)); }

// 方法二:strrchr + substr
function get_extension($file) { return substr(strrchr($file, '.'), 1); }

// 方法三:pathinfo (PHP 5.4+ 陣列解構)
function get_extension($file) { return pathinfo($file)['extension']; }

// 方法四:strrpos + substr
function get_extension($file) { return substr($file, strrpos($file, '.') + 1); }

// 方法五:preg_split + end
function get_extension($file) { return end(preg_split('/\./', $file)); }

// 方法六:strrev 反轉字符串
function get_extension($file) { $rev=strrev($file); return strrev(substr($rev,0,strpos($rev,'.'))); }

// 方法七:pathinfo 指定旗標
function get_extension($file) { return pathinfo($file, PATHINFO_EXTENSION); }

// 方法八:正則匹配最後一個點及後綴
function get_extension($file) {
    preg_match_all('/\.[a-zA-Z0-9]+/',$file,$data);
    return !empty($data[0]) ? substr(end($data[0]),1) : '';
}

// 方法九:strrchr + str_replace
function get_extension($file) { return str_replace('.','',strrchr($file,'.')); }

// 測試
$file = "https://10.31.63.8:8081/M00/00/09/Ch8_CFaaMLqAO87JAACePvS0ZRk.webp";
var_export(get_extension($file)); // 輸出 'webp'

推薦建議

  • 最推薦 方法七(pathinfo($file, PATHINFO_EXTENSION)),語義清晰、效能佳、內建函數可靠。
  • 方法三需 PHP 5.4+,舊版本用方法七。
  • 含查詢參數的 URL 需先 parse_url 取 path 再處理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved