Page 1 sur 1
variables globales
Posté : 16 janv. 2011, 19:35
par Invité
Bonjour,
Je cherche comment conserver une ou plusieurs variables dans un sites complet en PHP.
Il existe les sessions ou les cookies mais ce que je voudrais c'est conserver une variable interne sur l'intégralité de mon site.
Apparemment les variables $GLOBALS se perdent en route et je ne comprend pas pourquoi.
J'ai essayer les variables d'environnement mais pareil, elles se perdent en route.
En fait mon soucis et de garder le chemin physique de mon site, mais $_SERVER['DOCUMENT_ROOT'] n'est pas valable sur certains hebergeurs.
Eric
Re: variables globales
Posté : 16 janv. 2011, 19:37
par stealth35
il faut mettre tes variables dans un fichier que tu chargeras a chaque page avec un include/require
Re: variables globales
Posté : 16 janv. 2011, 21:45
par Invité
Bonsoir,
C'est justement pour faire un include/require que j'utilise cette variable $_SERVER['DOCUMENT_ROOT'].
Car ces fonctions n'acceptent pas de chemin absolu du genre include ("/admin/config.php") mais uniquement un chemin relatif ("../admin/config.php") ce qui me gène dans des scripts qui se lancent de partout.
Alors j'avais pris cette habitude include ($_SERVER['DOCUMENT_ROOT']."/admin/config.php") jusqu'à ce que je tombe sur un hébergeur qui ne possède pas cette variable que je voulais garder sur l'ensemble de mon site.
La question juste serait comment remonter à la racine de mon site à partir d'un endroit quelconque sans pouvoir utiliser le chemin absolu à cause de ces include/require qui ne les supportent pas.
Merci
Eric
Re: variables globales
Posté : 16 janv. 2011, 22:32
par stealth35
le chemin absolue est par rapport au système et non pas au serveur, donc /admin/config.php, ira chercher sur la machine dans le dossier racine /admin config.php
Re: variables globales
Posté : 16 janv. 2011, 23:39
par xTG
Sauf si la machine est sous windows (problème que je rencontre sur mon local).
Sinon tu peux utiliser d'autres variables serveur.
$_SERVER['REQUEST_URL'] par exemple, avec un peu de traitement tu peux éliminer le nom de domaine et compter le nombre de répertoires jusqu'à la racine.
Re: variables globales
Posté : 17 janv. 2011, 13:12
par Invité
le chemin absolue est par rapport au système et non pas au serveur, donc /admin/config.php, ira chercher sur la machine dans le dossier racine /admin config.php
Oui mais pas dans un include ou un require qui ne veulent pas de chemin absolu.
Re: variables globales
Posté : 17 janv. 2011, 13:15
par Invité
Sauf si la machine est sous windows (problème que je rencontre sur mon local).
Sinon tu peux utiliser d'autres variables serveur.
$_SERVER['REQUEST_URL'] par exemple, avec un peu de traitement tu peux éliminer le nom de domaine et compter le nombre de répertoires jusqu'à la racine.
Le problème n'est pas de trouver le chemin depuis la racine, mais de le conserver dans une variable accessible de partout.
C'est mon vrai problème, alors l'écrire en session ou en cookies, je trouve pas ça très propre.
Eric
Re: variables globales
Posté : 17 janv. 2011, 16:02
par xTG
Je ne parlais pas d'enregistrement mais de calcul sur chaque script.
C'est certes plus lourd à gérer mais au moins tu es sûr à 100% de la variable.