Heim > Backend-Entwicklung > PHP-Tutorial > 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
Freigeben: 2024-10-30 04:32:28
Original
782 Leute haben es durchsucht

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>
Nach dem Login kopieren

PHP < 5.3:

<code class="php">$mimetype = mime_content_type($filename);</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage