Comment déterminer le type de contenu d'un fichier en PHP
Lors de l'envoi d'e-mails avec des pièces jointes, il est crucial de définir le bon en-tête Content-Type pour le pièce jointe pour garantir une livraison réussie et un affichage approprié. En PHP, vous pouvez utiliser la fonction file_get_contents() pour récupérer le contenu de la pièce jointe, mais déterminer le type de contenu nécessite une étape supplémentaire.
La fonction getFileMimeType()
Pour simplifier cette tâche, pensez à utiliser la fonction getFileMimeType() suivante :
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; }
Comment cela Works
Cette fonction essaie plusieurs méthodes pour déterminer le type de contenu :
En utilisant une combinaison de ces méthodes, la fonction fournit un moyen robuste de récupérer le type de contenu de différents types de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!