(PHP 4, PHP 5, PHP 7)
realpath — Retourne le chemin canonique absolu
$path
)
realpath() résout tous les liens symboliques, et
remplace toutes les références /./, /../
et / de path puis retourne
le chemin canonique absolu ainsi trouvé.
pathLe chemin à vérifier.
Note:
Si un chemin d'accès doit être fourni, la valeur peut être vide ou
NULL. Dans ces cas, la valeur est interprétée comme étant le dossier courant.
Retourne le chemin canonique absolu ainsi trouvé. Le résultat ne contient aucun lien symbolique, /./ ou /../. Les délimiteurs de fin comme \ et / sont également supprimés.
realpath() retourne FALSE si une erreur survient, e.g.
si le fichier n'existe pas.
Note:
Le script qui s'exécute doit avoir les permissions en exécution sur tous les dossiers de la structure, sinon, la fonction realpath() retournera
FALSE.
Note:
Pour les systèmes de fichiers insensibles à la casse, realpath() peut ou non normaliser la casse des caractères.
Note: Comme le type entier de PHP est signé et que de nombreuses plates-formes utilisent des entiers de 32 bits, certaines fonctions relatives au système de fichiers peuvent retourner des résultats étranges pour les fichiers de taille supérieure à 2 Go.
| Version | Description |
|---|---|
| 5.3.0 |
Avant cette version, si le dernier composant path
n'existe pas, realpath() n'échouera pas
sous les systèmes *BSD dans ce cas.
|
| 5.2.1 |
Avant cette version, realpath() retournait FALSE
si le paramètre path est une chaîne vide, ou si
vaut NULL.
|
Exemple #1 Exemple avec realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
L'exemple ci-dessus va afficher :
/etc/passwd /tmp
Exemple #2 Exemple avec realpath() sous Windows
Sous Windows, realpath() changera les chemins de style Unix en chemins de style Windows.
<?php
echo realpath('/windows/system32');
echo realpath('C:\Program Files\\');
?>
L'exemple ci-dessus va afficher :
C:\WINDOWS\System32 C:\Program Files