ファイル形式の識別: 拡張子チェックなしで MP3 と画像を区別する
ファイルの種類を判断する標準的なアプローチには、拡張子をスキャンすることが含まれます。ただし、この方法は面倒で非効率的になる可能性があります。この質問では、拡張子チェックに頼らずにファイルが MP3 であるか画像であるかを確認するための代替ソリューションを求めています。
解決策は、ネイティブ言語機能を利用することにあります。 PHP バージョン 5.3 より前の場合、関数 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 中国語 Web サイトの他の関連記事を参照してください。