dirname
(PHP 4, PHP 5, PHP 7, PHP 8)
dirname — Liefert den Pfad des übergeordneten Verzeichnisses
Beschreibung
$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 "
..
".
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.
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
Version | Beschreibung |
---|---|
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