switch ($_SERVER['DOCUMENT_ROOT']) ne fonctionne pas

Eléphant du PHP | 256 Messages

07 oct. 2010, 18:44

Bonjour, :D

Savez-vous pourquoi écrire switch ($_SERVER['DOCUMENT_ROOT']) est sans effet ?

En effet, j'utilise la syntaxe suivante...
switch ($_SERVER['DOCUMENT_ROOT'])
{
case 'alpha.site.com':
$path = 'alpha';
break;
case 'omega.site.com':
$path = 'omega';
break;
}
echo $path;
Or, $path ne s'affiche pas !

Pourtant, un switch me semble plus simple à utiliser qu'une succession de elseif.

En fait, mon objectif est d'utiliser les mêmes fichiers pour servir quelques sites. Les sites pointent tous vers le même répertoire. Seulement, je dois identifier le site demandé pour appeler les fichiers correspondants, comme les images, différentes selon le contenu.

D'ailleurs, si vous avez une idée plus lumineuse que mon "bricolage" (?), je suis ouvert à vos excellentes suggestions. :mrgreen:

Cordialement,

Gaspard

Eléphant du PHP | 288 Messages

07 oct. 2010, 19:09

Salut,

Avant le switch fait un
var_dump($_SERVER['DOCUMENT_ROOT']);
Et vérifie ce qui s'affiche par rapport à tes cases. Regarde aussi la doc pour voir ce que $_SERVER['DOCUMENT_ROOT'], te retourne.

Eléphant du PHP | 256 Messages

07 oct. 2010, 19:32

Bonjour,

Merci, Damaskinos. Le var_dump m'a permis de voir que j'avais mélangé allègrement $_SERVER['DOCUMENT_ROOT'] et $_SERVER['SERVER_NAME'].

J'ai honte. :mrgreen:

Cordialement,

Gaspard