PHP에서 이메일 첨부 파일의 파일 콘텐츠 유형 결정
PHP에서 파일 첨부가 포함된 이메일을 보내려면 콘텐츠 유형을 지정해야 합니다. 파일. 이 정보를 통해 이메일 클라이언트는 첨부 파일을 올바르게 해석하고 표시할 수 있습니다. 이 문서에서는 이 목적을 위해 $the_content_type 변수를 적절하게 설정하는 방법을 다룹니다.
해결책:
한 가지 접근 방식은 일련의 기능을 사용하는 getFileMimeType() 함수를 사용하는 것입니다. 다양한 PHP 버전과 신뢰할 수 없는 MIME 유형 함수를 처리하기 위한 대체:
function getFileMimeType($file) { // Try finfo_file if (function_exists('finfo_file')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $type = finfo_file($finfo, $file); finfo_close($finfo); } // Try mime_content_type else { require_once 'upgradephp/ext/mime.php'; $type = mime_content_type($file); } // Check for unreliable results if (!$type || in_array($type, array('application/octet-stream', 'text/plain'))) { // Try file command (only available on *NIX systems) $secondOpinion = exec('file -b --mime-type ' . escapeshellarg($file), $foo, $returnCode); if ($returnCode === 0 && $secondOpinion) { $type = $secondOpinion; } } // Try exif_imagetype for images 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; }
이 함수 기본 finfo_file, mime_content_type, file 명령 및 EXIF_imagetype 함수를 순차적으로 시도하여 콘텐츠 유형을 결정합니다. 이러한 메서드 중 하나가 신뢰할 수 있는 결과를 반환하면 해당 메서드가 사용됩니다. 그렇지 않으면 함수는 대체 콘텐츠 유형을 반환합니다.
콘텐츠 유형이 결정되면 $the_content_type 변수를 다음과 같이 설정할 수 있습니다.
$the_content_type = getFileMimeType($filepath);
이 접근 방식은 강력한 콘텐츠 유형을 제공합니다. PHP에서 다양한 파일 유형의 콘텐츠 유형을 결정하여 이메일 첨부 파일이 이메일 클라이언트에 올바르게 표시되도록 보장하는 솔루션입니다.
위 내용은 PHP에서 이메일 첨부 파일의 콘텐츠 유형을 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!