PHP dirname renvoie le chemin d'un symlink
Dire que j'ai un lien symbolique à partir de '/one/directory/'
à '/two/directory/'
.
Si je echo dirname(dirname(\__FILE__))
, il retourne '/one/directory/'
.
Quelle est la meilleure méthode pour retourner '/two/directory'
?
Exemple d'utilisation:
Vhost 'example.com'
pointant vers `/deux/répertoire'
example.com/hello_world.php
<?php echo dirname(dirname(__FILE__)); ?>
Retourne: '/one/directory'
Résultats attendus: '/two/directory'
Vous devez vous connecter pour publier un commentaire.
Utiliser le
readlink
fonction? http://php.net/manual/en/function.readlink.phpVous pouvez vérifier si elle est un lien symbolique avec
is_link
: http://php.net/manual/en/function.is-link.phpUtilisation readlink($chemin) de lire la cible du lien symbolique.
Warning: readlink(): Invalid argument
🙁'/two/directory'
pour que cela fonctionne, lorsque je veux passer'/one/directory'
pour obtenir'/two/directory'
two
est un lien symbolique, il va vous montrerone
Documentation:
http://php.net/manual/en/function.is-link.php
http://php.net/manual/en/function.readlink.php
Utiliser le https://github.com/logical-and/symlink-detective
et
sera de retour
'/two/directory'
Peut-être avec la fonction realpath() ? http://php.net/manual/en/function.realpath.php
Edit : readlink semble être une meilleure solution 🙂