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,
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().
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