首頁  >  文章  >  後端開發  >  如何可靠地確定檔案是 MP3 還是影像?

如何可靠地確定檔案是 MP3 還是影像?

Susan Sarandon
Susan Sarandon原創
2024-10-30 06:25:28497瀏覽

How to Reliably Determine if a File is an MP3 or an Image?

確定檔案類型:mp3 或影像

確定檔案類型對於各種應用程式至關重要,可以透過檢查檔案副檔名來實現。然而,這種方法是有限的,因為擴展可能會產生誤導或不存在。為了準確可靠地識別文件類型,需要替代方法。

本機 MimeType 偵測

PHP 提供了用於擷取檔案的 mimetype 的內建函數。要使用的適當函數取決於PHP 版本:

  • PHP
  • PHP
PHP

5.3: mime_content_type()

PHP

5.3: mime_content_type()

這些函數利用magic.mime 資料庫根據檔案的內容來決定檔案的mimetype。此資料庫包含檔案簽章和 mimetypes 之間的對應。

替代方法

可以幫助識別檔案類型的其他函數包括 exif_imagetype 和 getimagesize。然而,這些依賴於安裝的特定庫,並且主要適合圖像檔案檢測。

<code class="php">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;
}</code>

組合功能

為了避免檢查系統可用性的麻煩,代理可以使用以下方法來封裝所有可用的函數,並將任務委託給最合適的函數: 透過使用這些方法,您可以有效地確定檔案是mp3 音訊檔案還是影像文件,無論其副檔名為何。

以上是如何可靠地確定檔案是 MP3 還是影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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