(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Retourne des informations sur un chemin système
pathinfo() retourne des informations sur le chemin
path, sous forme de chaine ou de tableau associatif, ceci
dépend du paramètre flags.
Note:
Pour plus d'informations sur la lecture du chemin courant, lisez la section sur les variables prédéfinies.
Note:
pathinfo() opère naivement sur la chaîne d'entrée, et n'est pas conscient des systèmes de fichiers actuel, ou des composants de chemins tel 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.
La fonction pathinfo() est sensible à la configuration locale, aussi, si vous voulez 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().
pathLe chemin à analyser.
flags
Spécifie quel élément sera retourné. Vous pouvez 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.
Si flags n'est pas utilisé, cette fonction retournera
un tableau associatif contenant les éléments suivants :
dirname, basename,
extension (s'il y en a), et filename.
Note:
Si
pathcontient plus d'une extension,PATHINFO_EXTENSIONretourne uniquement le dernier etPATHINFO_FILENAMEva supprimer uniquement le dernier également (voir le premier exemple ci-dessous).
Note:
Si
pathn'a pas d'extension, l'élémentextensionne sera pas retourné (voir le second exemple ci-après).
Note:
Si
basenamedu paramètrepathcommence par un point, les caractères suivants sont interprétés comme l'extension, et lefilenamesera vide (voir le troisième exemple ci-dessous).
Si flags est utilisé, cette fonction retournera
une chaîne de caractères contenant les éléments.
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() sans 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 avec pathinfo()
<?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, utilisez
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"