如何在 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中文网其他相关文章!