Maison > développement back-end > tutoriel php > Comment déterminer de manière fiable le type de contenu d'un fichier en PHP ?

Comment déterminer de manière fiable le type de contenu d'un fichier en PHP ?

Linda Hamilton
Libérer: 2024-11-15 05:26:02
original
615 Les gens l'ont consulté

How to Reliably Determine File Content-Type in PHP?

Détermination du type de contenu d'un fichier en PHP

En PHP, il est essentiel de déterminer le type de contenu d'un fichier lors de son envoi en tant que pièce jointe à un e-mail. Cela garantit que le type MIME correct est spécifié dans l'en-tête, permettant au logiciel de réception de gérer correctement le fichier.

Obtention du type de contenu

L'approche recommandée consiste à utilisez la fonction 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;
}
Copier après la connexion

Cette fonction tente de déterminer le type de contenu à l'aide de diverses méthodes, notamment :

  • Fonctions finfo de PHP (si disponibles)
    *mime_content_type() de la bibliothèque Upgrade.php
  • La commande de fichier du système d'exploitation (pour les systèmes *NIX)
  • exif_imagetype() pour les fichiers image

En utilisant plusieurs méthodes, cette fonction fournit une solution fiable pour obtenir le type de contenu correct, quel que soit le système d'exploitation ou l'environnement PHP.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal