En fonction des environnements de développement en local (Linux,
Windows, etc.) et des hébergeurs, le résultat obtenu par les variables
$_SERVER[] peut être différent au niveau de la syntaxe ; par exemple
avec des slash "/" ou des anti-slash "\" pour les variables
$_SERVER[SCRIPT_FILENAME] et autres comportant des chemins.
Ayant été confronté à ce problème et souhaitant obtenir, dans une
variable, le niveau d'arborescence dans lequel un script est exécuté,
sous forme d'une chaîne de caractère vide ("") si le script est situé à
la racine du site ou comportant X fois "../" en fonction du niveau
d'arborescence, j'ai d'abord écrit :
<?php
$niveau=str_repeat("../",(substr_count(substr($_SERVER['SCRIPT_FILENAME'],strlen($_SERVER['DOCUMENT_ROOT'])),strpos($_SERVER['SCRIPT_FILENAME'],"/") ? "/" : "\\")-1)); //
Sur une seule ligne
?>
Y-a-t-il moyen de faire plus simple ?
J'avoue humblement que le petit amateur que je suis n'a pas trouvé plus
simple.
--
Il vaut mieux ignorer où l'on est, et savoir qu'on l'ignore, que de se
croire avec confiance où l'on n'est pas. Jacques Dominique Cassini.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
John GALLET
Bonjour,
Y-a-t-il moyen de faire plus simple ?
Un fichier de config avec un define('MONPATH_SOURCE', '/mon/chemin'); ça évite les trucs à la con. on n'a que ce fichier à changer quand on passer d'une plateforme à une autre.
Attention d'ailleurs que toutes ces variables $_SERVER ne sont PAS FIABLES et sujettes à ce qu'un attaquant peut envoyer.
JG
Bonjour,
Y-a-t-il moyen de faire plus simple ?
Un fichier de config avec un define('MONPATH_SOURCE', '/mon/chemin'); ça
évite les trucs à la con. on n'a que ce fichier à changer quand on
passer d'une plateforme à une autre.
Attention d'ailleurs que toutes ces variables $_SERVER ne sont PAS
FIABLES et sujettes à ce qu'un attaquant peut envoyer.
Un fichier de config avec un define('MONPATH_SOURCE', '/mon/chemin'); ça évite les trucs à la con. on n'a que ce fichier à changer quand on passer d'une plateforme à une autre.
Attention d'ailleurs que toutes ces variables $_SERVER ne sont PAS FIABLES et sujettes à ce qu'un attaquant peut envoyer.