pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pathinfoLiefert Informationen über einen Dateipfad

Beschreibung

pathinfo(string$path, int$flags = PATHINFO_ALL): array|string

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.

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
To Top