(PHP 4, PHP 5, PHP 7, PHP 8)
dirname — Liefert den Pfad des übergeordneten Verzeichnisses
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.
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.
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.
?>
Version | Beschreibung |
---|---|
7.0.0 |
Der optionale Parameter levels wurde hinzugefügt.
|
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