(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Liefert Informationen über einen Dateipfad
pathinfo() gibt Informationen über einen Dateipfad
(path
) zurück: entweder als assoziatives Array
oder als String, abhängig vom Parameter flags
.
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.
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.
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.
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, gibtPATHINFO_EXTENSION
nur die letzte zurück, undPATHINFO_FILENAME
entfernt nur die letzte. (Siehe auch das erste Beispiel weiter unten.)
Hinweis:
Falls
path
keine Erweiterung hat, wird das Elementextension
nicht zurückgegeben (siehe das zweite Beispiel unten).
Hinweis:
Beginnt
basename
vonpath
mit einem Punkt, werden die folgenden Zeichen alsextension
interpretiert, undfilename
ist leer (siehe das dritte Beispiel unten).
Falls flags
genutzt wird, gibt diese Funktion
einen String mit dem gewünschten Element zurück.
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"