dirname

(PHP 4, PHP 5, PHP 7, PHP 8)

dirnameLiefert den Pfad des übergeordneten Verzeichnisses

Beschreibung

dirname(string$path, int$levels = 1): string

Aus einer übergebenen Zeichenkette, die den Pfad zu einer Datei oder einem Verzeichnis enthält, gibt diese Funktion den Pfad des Verzeichnisses zurück, welches levels Ebenen über dem angegebenen liegt.

Hinweis:

dirname() arbeitet nur mit der Eingabezeichenkette und beachtet nicht das eigentliche Dateisystem oder Pfadbestandteile wie etwa "..".

Achtung

Unter Windows geht dirname() von der aktuell eingestellten Codepage aus. Damit diese Funktion also bei Pfaden mit Mehrbytezeichen den korrekten Verzeichnisnamen erkennt, muss die passende Codepage gesetzt sein. Wenn path Zeichen enthält, die für die aktuelle Codepage ungültig sind, ist das Verhalten von dirname() undefiniert.

Auf anderen Systemen nimmt dirname() an, dass path in einer ASCII-kompatiblen Kodierung vorliegen muss. Andernfalls ist das Verhalten der Funktion undefiniert.

Parameter-Liste

path

Ein Pfad.

Unter Windows wird sowohl der Slash (/) als auch der Backslash (\) als Trennzeichen bei Pfadangaben benutzt. Unter anderen Betriebssystemen hingegen nur der Slash (/).

levels

Die Anzahl an übergeordneten Verzeichnissen, die aufgestiegen werden soll.

Dies muss eine ganze Zahl größer 0 sein.

Rückgabewerte

Gibt den Pfad eines übergeordneten Verzeichnisses zurück. Sind keine Pfadtrenner in path, wird ein Punkt ('.') zurückgegeben, der das aktuelle Verzeichnis angibt. Ansonsten ist die zurückgegebene Zeichenkette der path, von dem die abschließendene /komponente entfernt wurde.

Achtung

Vorsicht ist geboten, wenn diese Funktion in einer Schleife verwendet wird, die die oberste Verzeichnis-Ebene erreichen kann, da dies zu einer Endlosschleife führen kann.

<?php
dirname
('.'); // Ergibt '.'.
dirname('/'); // Ergibt '/' unter Windows und '/' auf *nix-Systemen.
dirname('\\'); // Ergibt `\` unter Windows und '.' auf *nix-Systemen.
dirname('C:\\'); // Ergibt 'C:\' unter Windows und '.' auf *nix-Systemen.
?>

Changelog

VersionBeschreibung
7.0.0 Der optionale Parameter levels wurde hinzugefügt.

Beispiele

Beispiel #1 dirname()-Beispiel

<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo
dirname("/etc/") . PHP_EOL;
echo
dirname(".") . PHP_EOL;
echo
dirname("C:\\") . PHP_EOL;
echo
dirname("/usr/local/lib", 2);

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

/etc / (oder \ unter Windows) . C:\ /usr

Siehe auch

  • basename() - Liefert den letzten Namensteil einer Pfadangabe
  • pathinfo() - Liefert Informationen über einen Dateipfad
  • realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf
To Top