Heim >Backend-Entwicklung >PHP-Tutorial >Wie können Sie die wahre Dateierweiterung aus einem Dateinamen extrahieren?

Wie können Sie die wahre Dateierweiterung aus einem Dateinamen extrahieren?

DDD
DDDOriginal
2024-11-02 03:22:02561Durchsuche

How Can You Extract the True File Extension from a Filename?

Ermitteln der wahren Dateierweiterung

Viele Entwickler stehen vor der Notwendigkeit, die Dateierweiterung aus einem Dateinamen zu extrahieren. Während es üblich ist, Lösungen zu verwenden, die einfach die Zeichenfolge des Dateinamens analysieren und alles abschneiden, was auf einen Punkt (.) folgt, kann dieser Ansatz zu ungenauen Ergebnissen führen, insbesondere wenn der Dateiname mehrere Erweiterungen enthält.

Zum Beispiel das Folgende Skripte können Erweiterungen möglicherweise nicht ordnungsgemäß entfernen:

  • /.[^.] $/
  • substr($filename, 0, (strlen ($filename)) - (strlen (strrchr ($filename,'.'))))

Beide Skripte verwenden ein Trennzeichen ('.'), um die Erweiterung zu isolieren. Wenn der Dateiname jedoch eine Zeichenfolge wie „This.is example of somestring“ enthält, wird nur der erste Punkt entfernt und „This“ anstelle des gewünschten Ergebnisses „somestring“ zurückgegeben.

Using pathinfo() für die genaue Entfernung von Erweiterungen

Um solche Unregelmäßigkeiten zu vermeiden, wird empfohlen, die von PHP bereitgestellte pathinfo()-Funktion zu nutzen. Diese Funktion bietet eine robuste Methode zum Abrufen verschiedener Informationen über einen Dateipfad, einschließlich seines Dateinamens und seiner Erweiterung.

Betrachten Sie das folgende Beispiel:

$filename = pathinfo('filename.md.txt', PATHINFO_FILENAME); // returns 'filename.md'

Durch Angabe von PATHINFO_FILENAME als zweiten Parameter, pathinfo () isoliert den Dateinamenteil des angegebenen Pfads, einschließlich etwaiger Erweiterungen. Wie oben gezeigt, extrahiert pathinfo() korrekt die wahre Erweiterung, wenn der Dateiname mehrere Erweiterungen enthält.

Das obige ist der detaillierte Inhalt vonWie können Sie die wahre Dateierweiterung aus einem Dateinamen extrahieren?. 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