首頁  >  文章  >  後端開發  >  如何在不檢查擴展名的情況下識別MP3和圖像?

如何在不檢查擴展名的情況下識別MP3和圖像?

Susan Sarandon
Susan Sarandon原創
2024-11-04 08:13:30427瀏覽

How to Identify MP3s and Images Without Extension Checks?

識別檔案格式:區分MP3 和影像,無需副檔名檢查

確定檔案類型的標準方法包括掃描其可能的副檔名。然而,這種方法可能很乏味且效率低。此問題尋求一種替代解決方案來確定檔案是 MP3 還是影像,而不依賴於副檔名檢查。

解決方案在於利用母語功能。對於 5.3 以下的 PHP 版本,函數 mime_content_type() 可以提供檔案的 MIME 類型。從 PHP 5.3 開始,finfo_fopen() 接手了這個任務。

exif_imagetype 和 getimagesize 等替代品也存在,但它們的功能僅限於識別影像檔案類型。如果需要全面的MIME 類型分析,以下程式碼片段提供了一個簡潔的解決方案:

function getMimeType($filename)
{
    $mimetype = false;
    if(function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif(function_exists('getimagesize')) {
        // open with GD
    } elseif(function_exists('exif_imagetype')) {
       // open with EXIF
    } elseif(function_exists('mime_content_type')) {
       $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

此代理功能有效地將任務委託給系統上的可用檢測器,確保穩健且高效的文件格式識別過程。

以上是如何在不檢查擴展名的情況下識別MP3和圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn