Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man den Dateiinhaltstyp in PHP zuverlässig bestimmen?

Wie kann man den Dateiinhaltstyp in PHP zuverlässig bestimmen?

Linda Hamilton
Freigeben: 2024-11-15 05:26:02
Original
625 Leute haben es durchsucht

How to Reliably Determine File Content-Type in PHP?

Bestimmen des Dateiinhaltstyps in PHP

In PHP ist es wichtig, den Inhaltstyp einer Datei zu bestimmen, wenn Sie sie als senden E-Mail-Anhang. Dadurch wird sichergestellt, dass der richtige MIME-Typ im Header angegeben wird, sodass die empfangende Software die Datei ordnungsgemäß verarbeiten kann.

Erhalten des Inhaltstyps

Der empfohlene Ansatz ist: Verwenden Sie die Funktion 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;
}
Nach dem Login kopieren

Diese Funktion versucht, den Inhaltstyp mithilfe verschiedener Methoden zu bestimmen. einschließlich:

  • PHPs Finfo-Funktionen (falls verfügbar)
    *mime_content_type() aus der Upgrade.php-Bibliothek
  • Der Dateibefehl des Betriebssystems (für *NIX-Systeme)
  • exif_imagetype() für Bilddateien

Durch die Verwendung mehrerer Methoden bietet diese Funktion eine zuverlässige Lösung zum Erhalten des richtigen Inhaltstyps, unabhängig vom Betriebssystem oder der PHP-Umgebung.

Das obige ist der detaillierte Inhalt vonWie kann man den Dateiinhaltstyp in PHP zuverlässig bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage