Frage

Ich bin auf der Suche nach dem besten (möglich auf den meisten PHP 5.2 installiert und immer noch aktiv entwickelt) Art und Weise ein Dateien MIME-Typ in PHP zu erkennen.

Ich bin mir bewusst, der mime_content_type()-Methode und der Fileinfo-Erweiterung jedoch mime_content_type() ist unzuverlässig und veraltet, und Fileinfo kommt nicht in einem „Standard“ PHP (5.2) installieren.

Habe ich irgendwelche andere Optionen?

War es hilfreich?

Lösung

Haben Sie in diesem PEAR-Paket geschaut?

http://pear.php.net/package/MIME_Type

Andere Tipps

(lol sorry ich erkennen dies vor Monaten gefragt wurde, wie ich Finishing. Na ja. Könnte auch hinzufügen, diese ...)

Wenn es ein * nix-Server ist Sie verwenden könnte Datei Befehl.

file -bi <filepath>

Sie würden haben „exec“ in PHP zu verwenden, um zu tun, dass ich denke? Ich bin neu in PHP so zitieren Sie mich nicht auf das, aber ...

$content_type = exec("file -bi " . escapeshellarg($filepath));

Ich habe es nicht getestet, so dass Sie den Pfad String entkommen könnte müssen und das Ausgabeformat.

Keine Ahnung, ob dies zuverlässiger sein als die anderen Methoden.

Sie könnten einen subrequest auf den Webserver haben Sie auf ausführen, analysieren dann den Header der Mime bekommen auf diese Weise eingeben. Da diese langsam ist, verwenden curl, um nur die Header erhalten nicht die volle Anfrage. Dies ist wichtig, wenn Sie mit großen Dateien suchen.

Wenn Sie Apache laufen und mit PHP als Modul, werfen Sie einen Blick auf die virtuelle Funktion. es ist ein schneller Weg, um eine subrequest als die Verwendung von curl zu tun.

Sie können den MIME-Typ-Lookup durch Erweiterung. Dadurch werden alle gut benannten Dateien funktioniert.

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