pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Liefert Informationen über einen Dateipfad
Beschreibung
Hinweis:
Wie die aktuellen Pfadinformationen ermittelt werden können, ist im
Abschnitt
Vordefinierte Variablen
beschrieben.
Hinweis:
pathinfo() verarbeitet lediglich den Eingabestring und
kennt weder das tatsächliche Dateisystem noch Pfadkomponenten wie
"..
".
Hinweis:
Das Zeichen \
wird nur auf Windows-Systemen als
Trennzeichen zwischen Verzeichnissen interpretiert. Auf anderen Systemen
wird es wie jedes andere Zeichen behandelt.
Achtung
pathinfo() berücksichtigt die Locale-Einstellung. Um
einen Pfad, der Multibyte-Zeichen enthält, korrekt parsen zu können, muss
die entsprechende Locale mit der Funktion setlocale()
gesetzt werden.
Parameter-Liste
-
path
-
Der zu analysierende Dateipfad.
-
flags
-
Gibt, falls vorhanden, ein bestimmtes Element an, das zurückgegeben
werden soll. Mögliche Werte:
PATHINFO_DIRNAME
,
PATHINFO_BASENAME
,
PATHINFO_EXTENSION
oder
PATHINFO_FILENAME
.
Falls flags
nicht angegeben wird, werden alle
verfügbaren Elemente zurückgegeben.
Rückgabewerte
Falls der Parameter flags
nicht angegeben wird,
wird ein assoziatives Array mit den folgenden Elementen
zurückgegeben: dirname
, basename
,
extension
(falls vorhanden) und
filename
.
Hinweis:
Wenn path
mehr als eine Erweiterung hat, gibt
PATHINFO_EXTENSION
nur die letzte zurück, und
PATHINFO_FILENAME
entfernt nur die letzte.
(Siehe auch das erste Beispiel weiter unten.)
Hinweis:
Falls path
keine Erweiterung hat, wird das
Element extension
nicht zurückgegeben
(siehe das zweite Beispiel unten).
Hinweis:
Beginnt basename
von path
mit
einem Punkt, werden die folgenden Zeichen als extension
interpretiert, und filename
ist leer (siehe das dritte
Beispiel unten).
Falls flags
genutzt wird, gibt diese Funktion
einen String mit dem gewünschten Element zurück.
Beispiele
Beispiel #1 pathinfo()-Beispiel
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Beispiel #2
pathinfo()-Beispiel für den Unterschied zwischen einer
leeren und keiner Erweiterung
<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
Beispiel #3 pathinfo()-Beispiel für eine Punktdatei
<?php
print_r(pathinfo('/some/path/.test'));
?>
Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
Beispiel #4 pathinfo()-Beispiel mit Array-Dereferenzierung
Der Parameter flags
ist keine Bitmaske. Es kann
nur ein einziger Wert angegeben werden. Um nur eine begrenzte Menge von
geparsten Werten auszuwählen, kann das Array wie folgt zerlegt werden:
<?php
['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');
var_dump($basename, $dirname);
?>
Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:
string(11) "lib.inc.php"
string(15) "/www/htdocs/inc"
Siehe auch
- dirname() - Liefert den Pfad des übergeordneten Verzeichnisses
- basename() - Liefert den letzten Namensteil einer Pfadangabe
- parse_url() - Analysiert eine URL und gibt ihre Bestandteile zurück
- realpath() - Löst einen Pfad in einen absoluten und eindeutigen auf