Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich den Dateityp bestimmen, ohne auf Erweiterungen angewiesen zu sein?

Wie kann ich den Dateityp bestimmen, ohne auf Erweiterungen angewiesen zu sein?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 04:32:28686Durchsuche

How to Determine File Type Without Relying on Extensions?

So erkennen Sie Dateitypen, ohne auf Erweiterungen angewiesen zu sein

Es ist wertvoll, über die Untersuchung ihrer Erweiterung hinaus festzustellen, ob es sich bei einer Datei um ein MP3- oder Bildformat handelt Aufgabe in der Programmierung. Hier ist eine umfassende Lösung, die nicht auf Erweiterungen angewiesen ist:

PHP >= 5.3:

<code class="php">$mimetype = finfo_fopen(fopen($filename, 'r'), FILEINFO_MIME_TYPE);</code>

PHP < 5.3:

<code class="php">$mimetype = mime_content_type($filename);</code>

Alternativen:

  • exif_imagetype: Prüft speziell auf Bild-Mimetypen.
  • getimagesize: Ähnlich wie exif_imagetype, kann aber Probleme mit der Bibliotheksabhängigkeit haben.

Proxy-Methode:

Für einen allgemeineren Ansatz: Erwägen Sie, diese Funktionen in eine Proxy-Methode zu packen:

<code class="php">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;
}</code>

Mit dieser Proxy-Methode können Sie den Mimetyp einer Datei basierend auf der Verfügbarkeit verschiedener Funktionen auf Ihrem System leicht bestimmen.

Das obige ist der detaillierte Inhalt vonWie kann ich den Dateityp bestimmen, ohne auf Erweiterungen angewiesen zu sein?. 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