Finden Sie den MIME-Dateityp oder die URL mit PHP für alle Dateiformate

Hallo, ich bin auf der Suche nach dem besten Weg, um herauszufinden, MIME-Typ in PHP für eine lokale Datei oder URL. Ich habe versuchtmime_content_type Funktion von PHP, aber da es veraltet ist, bin ich auf der Suche nach einer besseren Lösung in PHP für alle Dateiformate.

mime_content_type — Detect MIME Content-type for a file ***(deprecated)***

Ich habe unten schon Funktion ausprobiert

echo 'welcome';
if (function_exists('finfo_open')) {
    echo 'testing';
    $finfo = finfo_open(FILEINFO_MIME);
    $mimetype = finfo_file($finfo, "http://4images.in/wp-content/uploads/2013/12/Siberian-Tiger-Running-Through-Snow-Tom-Brakefield-Getty-Images-200353826-001.jpg");
    finfo_close($finfo);
    echo $mimetype;
}

Der obige Code funktioniert bei mir nicht, ich sehe nurwelcome Ich bin mir nicht sicher, ob ich hier etwas falsch mache.

Der folgende Code funktioniert in meinem Land irgendwie, funktioniert aber nicht für URLs.

$file = './apache_pb2.png';
$file_info = new finfo(FILEINFO_MIME);  // object oriented approach!
$mime_type = $file_info->buffer(file_get_contents($file));  // e.g. gives "image/jpeg"
$mime  = explode(';', $mime_type);
print $mime[0];

Gibt es einige Probleme, die sowohl für (url als auch für local) funktionieren? Was ist die beste Vorgehensweise, um den MIME-Typ für alle Inhalte (Bild, Video, Datei usw.) außer der Funktion mime_content_type in php.also festzulegen? Es wird empfohlen, die zu verwenden mime_content_type Funktion in PHP, Ist es in PHP die beste Praxis?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage