MIME-Typ einer lokalen Datei in PHP5 ohne PECL-Erweiterung abrufen?
Frage
mime_content_type()
ist veraltet.
Wie finde ich die MIME type
einer lokalen Datei mit PHP5
aber ohne diese veraltete Methode oder die zu verwenden PECL fileinfo
Verlängerung?
Bearbeiten:Davor hatte ich Angst.Es ist bedauerlich, dass eine integrierte Funktion zugunsten einer Funktion veraltet ist, die eine Erweiterung erfordert, die nicht immer verfügbar ist.
Lösung
Wenn Sie die Dateiinfo-Erweiterung nicht verwenden können und mime_content_type nicht verwenden möchten, sind Ihre Optionen begrenzt.
Höchstwahrscheinlich müssen Sie eine Suche anhand der Dateierweiterung durchführen.mime_content_type hat etwas Intelligenteres gemacht und tatsächlich nach speziellen Daten in der Datei gesucht, um den Mime-Typ zu bestimmen.
Andere Tipps
Der getID3() Die Bibliothek ist eine schnelle und einfache Option, die die meiste Zeit funktioniert.Ursprünglich benannt nach einem Projekt zum Abrufen von MP3-ID3-Daten, leistet die Bibliothek noch viel mehr als das und ist für alle möglichen gängigen oder ungewöhnlichen Dateimetadatenaufgaben recht praktisch.
Ich habe es verwendet, um die MIME-Dateitypen für Online-Bild- und Videotools abzurufen.Bei all den Tests, die ich durchgeführt habe, ist mir nicht aufgefallen, dass getID3 den MIME-Typ falsch angegeben hat.
Ich habe es auch verwendet, um zu überprüfen, ob QuickTime-Videos Streaming-Hinweise haben.Ich erwähne dies als Beispiel für Vielseitigkeit.
Eine zweite, zeitaufwändigere Option besteht darin, wie bereits vorgeschlagen, einen eigenen MIME-Typprüfer zu erstellen.Wenn Sie über eine MIME-Magic-Datei verfügen, können Sie etwas über eine Suche nach der Dateierweiterung hinausgehen, indem Sie die ersten n Bytes der Dateidaten mit einer Nachschlagetabelle für die ersten n Bytes des MIME-Typs vergleichen, die aus Ihrer MIME-Magic-Datei abgeleitet wurde.
Eine typische MIME-Magic-Datei enthält mehr als 500 Sätze von MIME-Typen, was zu langsamen Vergleichen (viele durchzuführende Prüfungen) führen kann.Die Festcodierung der 10 häufigsten MIME-Typprüfungen in Ihrer Home-Roll-Lösung hilft dabei.