So entfernen Sie die Dateierweiterung in PHP: 1. Verwenden Sie die Funktion pathinfo, um einen Teil des vollständigen Dateinamens zurückzugeben. 2. Verwenden Sie die Funktion basename, um die Erweiterung aus dem Dateinamen zu entfernen Gibt den vollständigen Pfad ohne Erweiterung und Dateinamen zurück.
Empfohlen: „PHP-Video-Tutorial“
Drei Möglichkeiten, Erweiterungen aus Dateinamen in PHP zu entfernen
Wenn Sie einen Dateinamen haben, müssen Sie ihn aus PHP entfernen. Es gibt viele Möglichkeiten, dies zu tun. Hier gibt es drei Methoden.
Verwenden Sie die Funktion pathinfo()
Die Funktion pathinfo() gibt ein Array mit Verzeichnisname, Basisname, Erweiterung und Dateiname zurück. Alternativ können Sie eine PATHINFO_-Konstante übergeben und diesen Teil des vollständigen Dateinamens zurückgeben:
$filename ='filename.html'; $without_extension = pathinfo($filename, PATHINFO_FILENAME);
Wenn der Dateiname einen vollständigen Pfad enthält, wird nur der Dateiname ohne Erweiterung zurückgegeben.
Verwenden Sie die Funktion basename()
Wenn die Erweiterung bekannt und für alle Dateinamen gleich ist, können Sie basename() ein zweites optionales Argument übergeben, um anzuweisen, diese aus dem Dateinamen zu entfernen. Erweiterung:
$filename ='filename.html'; $without_extension = basename($filename,'.html');
Wenn der Dateiname einen vollständigen Pfad enthält, wird nur der Dateiname ohne Erweiterung zurückgegeben.
Verwenden Sie substr und strrpos
$filename ='filename.html'; $without_extension = substr($filename, 0, strrpos($filename, "."));
Wenn der Dateiname einen vollständigen Pfad enthält, geben Sie den vollständigen Pfad und Dateinamen ohne Erweiterung zurück. Sie können basename() verwenden, um den Pfad zu entfernen, zum Beispiel:
basename(substr($filename, 0, strrpos($filename, ".")));
, obwohl dies langsamer ist als die Verwendung von pathinfo.
Geschwindigkeitsvergleich
Führen Sie jeden dieser Schritte 10.000.000 Mal in einer Schleife auf einem Mac mit PHP 5.4 aus:
pathinfo:10.13秒 basename:7.87秒 substr / strrpos:6.05秒 basename(substr / strrpos):11.98秒
Wenn der Dateiname nicht den vollständigen Pfad enthält oder es keine Rolle spielt, wird der Teilstr Die Option /strrpos scheint die schnellste zu sein.
Wenn der Dateiname einen Pfad enthält und Sie den Pfad nicht möchten, aber wissen, welche Erweiterung Sie entfernen möchten, scheint Basisname die schnellste Lösung zu sein.
Wenn der Dateiname einen Pfad enthält, Sie den Pfad nicht benötigen und die Erweiterung nicht kennen, verwenden Sie die Option pathinfo().
Fazit
Es gibt viele andere Möglichkeiten, dies zu tun, einige sind möglicherweise schneller. In vielen Fällen ist die Geschwindigkeit möglicherweise nicht so wichtig (10 Sekunden zum Ausführen von pathinfo sind immerhin 100.000 Mal). Der Zweck dieses Artikels besteht darin, einige Möglichkeiten zum Entfernen von Erweiterungen aus Dateinamen mithilfe von PHP aufzuzeigen.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie die Dateierweiterung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!