pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Retourne des informations sur un chemin système
Description
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.
Attention
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().
Liste de paramètres
-
path
-
Le 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.
Valeurs de retour
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 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 utilisé, cette fonction retournera
une chaîne de caractères contenant les éléments.
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() 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"
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