PHP でファイルのコンテンツ タイプを決定する方法
添付ファイル付きの電子メールを送信する場合、ファイルの正しい Content-Type ヘッダーを設定することが重要です。確実に配信され、適切に表示されるように添付ファイルを添付してください。 PHP では、file_get_contents() 関数を使用して添付ファイルのコンテンツを取得できますが、コンテンツ タイプを決定するには追加の手順が必要です。
getFileMimeType() 関数
このタスクを簡素化するには、次の getFileMimeType() 関数の使用を検討してください。
function getFileMimeType($file) { if (function_exists('finfo_file')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $type = finfo_file($finfo, $file); finfo_close($finfo); } else { require_once 'upgradephp/ext/mime.php'; $type = mime_content_type($file); } if (!$type || in_array($type, array('application/octet-stream', 'text/plain'))) { $secondOpinion = exec('file -b --mime-type ' . escapeshellarg($file), $foo, $returnCode); if ($returnCode === 0 && $secondOpinion) { $type = $secondOpinion; } } if (!$type || in_array($type, array('application/octet-stream', 'text/plain'))) { require_once 'upgradephp/ext/mime.php'; $exifImageType = exif_imagetype($file); if ($exifImageType !== false) { $type = image_type_to_mime_type($exifImageType); } } return $type; }
仕組み
この関数は、コンテンツ タイプを決定するためにいくつかの方法を試みます。
これらのメソッドを組み合わせて使用することで、この関数は堅牢な方法を提供します。さまざまなファイルタイプのコンテンツタイプを取得します。
以上がPHP でファイルのコンテンツ タイプを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。