So bestimmen Sie den Dateiinhaltstyp in PHP
Beim Senden von E-Mails mit Anhängen ist es wichtig, den richtigen Content-Type-Header für festzulegen Anhang, um eine erfolgreiche Lieferung und ordnungsgemäße Anzeige zu gewährleisten. In PHP können Sie die Funktion file_get_contents() verwenden, um den Inhalt des Anhangs abzurufen, die Bestimmung des Inhaltstyps erfordert jedoch einen zusätzlichen Schritt.
Die Funktion getFileMimeType()
Um diese Aufgabe zu vereinfachen, sollten Sie die folgende getFileMimeType()-Funktion verwenden:
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; }
Wie es funktioniert Funktioniert
Diese Funktion probiert mehrere Methoden aus, um den Inhaltstyp zu bestimmen:
Durch die Verwendung einer Kombination dieser Methoden bietet die Funktion eine robuste Möglichkeit, den Inhaltstyp verschiedener Dateitypen abzurufen.
Das obige ist der detaillierte Inhalt vonWie bestimme ich den Inhaltstyp einer Datei in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!