realpath

(PHP 4, PHP 5, PHP 7)

realpathRetourne le chemin canonique absolu

Description

realpath ( string $path ) : string

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 charactè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: 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.

Historique

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.

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