Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie die Dateierweiterung in PHP

So entfernen Sie die Dateierweiterung in PHP

藏色散人
藏色散人Original
2020-08-21 09:55:553432Durchsuche

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.

So entfernen Sie die Dateierweiterung in PHP

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!

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