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