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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top