(PHP 4, PHP 5, PHP 7)
dirname — Renvoie le chemin du dossier parent
$path
[, int $levels
= 1
] )
Renvoie le chemin parent d'un chemin représentant un fichier
ou un dossier, qui correspond à levels
niveau(x) plus
haut que le dossier courant.
path
Un chemin.
Sous Windows, les slash (/) et antislash (\) sont utilisés comme séparateurs de dossier. Dans les autres environnements, seul le slash (/) est utilisé.
levels
Le nombre de dossiers parents plus haut.
Doit être un entier supérieur à 0.
Retourne le dossier parent du chemin. S'il n'y a pas de slash dans le chemin
path
, un point ('.') sera
retourné, indiquant le dossier courant. Sinon, la chaîne retournée
sera le chemin path
dont on aura supprimé tous
les /component.
Version | Description |
---|---|
7.0.0 |
Ajout du paramètre optionnel levels .
|
5.0.0 | dirname() gère maintenant les données binaires. |
Exemple #1 Exemple avec dirname()
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
L'exemple ci-dessus va afficher quelque chose de similaire à :
/etc / (ou \ sous Windows) . /usr
Note:
dirname() agit naïvement sur la chaine en entrée et n'est pas au courant du système de fichiers courant ou d'éventuels composantes comme "..".
Note:
dirname() est sensible à la locale, donc si le chemin possède des caractères multi-octets, la locale qui convient doit être enregistrée au moyen de la fonction setlocale().
Note:
Depuis PHP 4.3.0, cette fonction retournera toujours un slash ou un point dans les cas où l'ancienne version retournait une chaîne vide.
Voici des exemples exposant ce comportement :
<?php
//Avant PHP 4.3.0
dirname('c:/'); // Retourné : '.'
//Après PHP 4.3.0
dirname('c:/x'); // Retourné : 'c:\'
dirname('c:/Temp/x'); // Retourné : 'c:/Temp'
dirname('/x'); // Retourné : '\'
?>