Retourne des informations sur un chemin système

# pathinfo

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

pathinfo — Retourne des informations sur un chemin système

### Description

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

pathinfo() retourne des informations sur le chemin `path`, sous forme de chaîne ou de tableau associatif, ceci dépend du paramètre `flags`.

> Note:

> Pour plus d'informations sur la lecture du chemin courant, se référer à la section sur les variables prédéfinies.

> Note:

> pathinfo() opère naïvement sur la chaîne d'entrée, et n'est pas consciente du système de fichiers actuel, ou des composants de chemins tels que "`..`".

> Note:

> Sur les systèmes Windows uniquement, le caractère `\` sera interprété comme un séparateur de répertoire. Sur les autres systèmes, il sera traité comme n'importe quel autre caractère.

Attention

La fonction pathinfo() est sensible à la configuration locale, aussi, pour qu'elle analyse correctement un chemin contenant les caractères sur plusieurs octets, la locale correspondante doit être définie en utilisant la fonction setlocale().

### Liste de paramètres

`path`

  Le chemin à analyser.

`flags`

  Spécifie quel élément sera retourné. Il est possible de passer l'une des constantes `PATHINFO_DIRNAME`, `PATHINFO_BASENAME`, `PATHINFO_EXTENSION` et `PATHINFO_FILENAME`.

  Si `flags` n'est pas renseigné, tous les éléments sont retournés.

### Valeurs de retour

Si `flags` n'est pas utilisé, cette fonction retourne un tableau associatif contenant les éléments suivants : `dirname`, `basename`, `extension` (s'il y en a), et `filename`.

> Note:

> Si `path` contient plus d'une extension, `PATHINFO_EXTENSION` retourne uniquement le dernier et `PATHINFO_FILENAME` va supprimer uniquement le dernier également (voir le premier exemple ci-dessous).

> Note:

> Si `path` n'a pas d'extension, l'élément `extension` ne sera pas retourné (voir le second exemple ci-après).

> Note:

> Si `basename` du paramètre `path` commence par un point, les caractères suivants sont interprétés comme l' `extension`, et le `filename` sera vide (voir le troisième exemple ci-dessous).

Si `flags` est présent, cette fonction retourne une chaîne de caractères contenant l'élément demandé.

### Exemples

Exemple #1 Exemple avec pathinfo()

    <?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";
    ?>

L'exemple ci-dessus va afficher :

    /www/htdocs/inc
    lib.inc.php
    php
    lib.inc

Exemple #2 Exemple pathinfo() montrant la différence entre null et l'absence d'extension

    <?php
    $path_parts = pathinfo('/path/emptyextension.');
    var_dump($path_parts['extension']);

    $path_parts = pathinfo('/path/noextension');
    var_dump($path_parts['extension']);
    ?>

Résultat de l'exemple ci-dessus est similaire à :

    string(0) ""

    Notice: Undefined index: extension in test.php on line 6
    NULL

Exemple #3 Exemple pathinfo() pour un fichier caché (dot-file)

    <?php
    print_r(pathinfo('/some/path/.test'));
    ?>

Résultat de l'exemple ci-dessus est similaire à :

    Array
    (
        [dirname] => /some/path
        [basename] => .test
        [extension] => test
        [filename] =>
    )

Exemple #4 Exemple de pathinfo() avec déréférencement de tableau

Le paramètre `flags` n'est pas un masque de bits. Seule une valeur peut être fournie. Pour sélectionner uniquement un ensemble limité de valeurs analysées, il convient d'utiliser la déstructuration de tableau comme ceci :

    <?php
    ['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');

    var_dump($basename, $dirname);
    ?>

Résultat de l'exemple ci-dessus est similaire à :

    string(11) "lib.inc.php"
    string(15) "/www/htdocs/inc"

### Voir aussi

- dirname() - Renvoie le chemin du dossier parent
- basename() - Retourne le nom de la composante finale d'un chemin
- parse_url() - Analyse une URL et retourne ses composants
- realpath() - Retourne le chemin canonique absolu

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open