ホームページ >バックエンド開発 >PHPチュートリアル >拡張子に依存せずにファイルの種類を判断するにはどうすればよいですか?

拡張子に依存せずにファイルの種類を判断するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 04:32:28758ブラウズ

How to Determine File Type Without Relying on Extensions?

拡張子に依存せずにファイルの種類を検出する方法

拡張子を調べるだけでなく、ファイルが mp3 形式であるか画像形式であるかを判断することは重要ですプログラミングにおけるタスク。拡張機能に依存しない包括的なソリューションは次のとおりです。

PHP >= 5.3:

<code class="php">$mimetype = finfo_fopen(fopen($filename, 'r'), FILEINFO_MIME_TYPE);</code>

PHP < 5.3:

<code class="php">$mimetype = mime_content_type($filename);</code>

代替:

  • exif_imagetype: 画像の MIME タイプを特にチェックします。
  • getimagesize: exif_imagetype に似ていますが、ライブラリの依存関係の問題がある可能性があります。

プロキシ メソッド:

より一般的なアプローチについては、これらの関数をプロキシ メソッドにラップすることを検討してください:

<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>

このプロキシ メソッドを使用すると、システム上で利用できるさまざまな関数に基づいてファイルの MIME タイプを簡単に判断できます。

以上が拡張子に依存せずにファイルの種類を判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。