(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.
pathDer 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
pathmehr als eine Erweiterung hat, gibtPATHINFO_EXTENSIONnur die letzte zurück, undPATHINFO_FILENAMEentfernt nur die letzte. (Siehe auch das erste Beispiel weiter unten.)
Hinweis:
Falls
pathkeine Erweiterung hat, wird das Elementextensionnicht zurückgegeben (siehe das zweite Beispiel unten).
Hinweis:
Beginnt
basenamevonpathmit einem Punkt, werden die folgenden Zeichen alsextensioninterpretiert, undfilenameist 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"