realpath

(PHP 4, PHP 5, PHP 7, PHP 8)

realpathRetourne le chemin canonique absolu

Description

realpath(string$path): string|false

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é.

Liste de paramètres

path

Le chemin à vérifier.

Note:

Un chemin d'accès doit être fourni, la valeur peut être une chaîne de caractère vide. Dans ces cas, la valeur est interprétée comme étant le dossier courant.

Valeurs de retour

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:

La fonction realpath() ne fonctionnera pas pour un fichier qui se trouve à l'intérieur d'un phar car ce chemin serait un chemin d'accès virtuel, pas un vrai.

Note:

Sur Windows, les jonctions et les liens symbolics aux dossiers sont uniquement étendu d'un niveau.

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.

Exemples

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'), PHP_EOL;

echo
realpath('C:\Program Files\\'), PHP_EOL;
?>

L'exemple ci-dessus va afficher :

C:\WINDOWS\System32 C:\Program Files

Voir aussi

  • basename() - Retourne le nom de la composante finale d'un chemin
  • dirname() - Renvoie le chemin du dossier parent
  • pathinfo() - Retourne des informations sur un chemin système
To Top