Heim  >  Artikel  >  Backend-Entwicklung  >  Wie identifiziere ich MP3s und Bilder ohne Erweiterungsprüfungen?

Wie identifiziere ich MP3s und Bilder ohne Erweiterungsprüfungen?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 08:13:30427Durchsuche

How to Identify MP3s and Images Without Extension Checks?

Dateiformat identifizieren: MP3s und Bilder ohne Erweiterungsprüfungen unterscheiden

Der Standardansatz zur Bestimmung des Dateityps besteht darin, seine möglichen Erweiterungen zu durchsuchen. Diese Methode kann jedoch langwierig und ineffizient sein. Bei dieser Frage wird nach einer alternativen Lösung gesucht, um festzustellen, ob es sich bei einer Datei um eine MP3-Datei oder ein Bild handelt, ohne auf Erweiterungsprüfungen angewiesen zu sein.

Die Lösung liegt in der Nutzung nativer Sprachfunktionen. Für PHP-Versionen unter 5.3 kann die Funktion mime_content_type() den MIME-Typ der Datei bereitstellen. Ab PHP 5.3 übernimmt finfo_fopen() diese Aufgabe.

Es gibt auch Alternativen wie exif_imagetype und getimagesize, deren Funktionalität sich jedoch auf die Identifizierung von Bilddateitypen beschränkt. Wenn eine umfassende MIME-Typ-Analyse erforderlich ist, bietet das folgende Code-Snippet eine praktische Lösung:

function getMimeType($filename)
{
    $mimetype = false;
    if(function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif(function_exists('getimagesize')) {
        // open with GD
    } elseif(function_exists('exif_imagetype')) {
       // open with EXIF
    } elseif(function_exists('mime_content_type')) {
       $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

Diese Proxy-Funktion delegiert die Aufgabe effektiv an den verfügbaren Detektor auf Ihrem System und gewährleistet so eine robuste und effiziente Dateiformaterkennung Prozess.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich MP3s und Bilder ohne Erweiterungsprüfungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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