Arborescence et URL

Résolu
wenijah Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
wenijah Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

J'ai un petit problème avec la recherche d'un fichier de config dans mon code php. J'ai configuré les répertoires comme suit :

$dir_img = "/images/"; 
$dir_js = "/js/"; 
$dir_lg = "/inc/lang/";


Pour img et js, tout fonctionne parfaitement mais pour le chargement du fichier de langue, même si pour la langue par défaut, ça fonctionne, quand je recherche une autre langue, ça ne marche pas... Pour que ça marche, il faut que je passe d'absolu à relatif :

$dir_lg = "/inc/lang/";

à

$dir_lg = "inc/lang";

Et ça ne convient pas avec l'url rewrite que je vais mettre en place...

Voilà le code pour la reconnaissance de la langue :

//load langfile 
if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) 
{ 
 $lang = "en"; 
    $langfile = $dir_lg."en-utf8.inc.php"; 
    require_once($langfile); 
 } else { 
 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 
 $langfile = $dir_lg."".$lang."-utf8.inc.php"; 
 if (file_exists($langfile)) 
  { 
 echo"ok"; 
 require_once($langfile); 
  } else { 
 $lang = "en"; 
    $langfile = $dir_lg."en-utf8.inc.php"; 
    require_once($langfile); 
  } 
}


En bref, le code fonctionne et la langue par défaut se charge si le fichier de langue n'existe pas mais quand il existe, c'est le fichier de langue par défaut qui se charge quand même!

Une petite idée?

Merci!!

1 réponse

wenijah Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   6
 
//load langfile
if (!isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
	$lang = "en";
    $langfile = $dir_lg . "en-utf8.inc.php";
    require_once($langfile);
	} else {
	$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
	$langfile = $dir_lg . $lang . "-utf8.inc.php";
	if (file_exists($_SERVER{'DOCUMENT_ROOT'} . $langfile))
		{
	echo"ok";
	require_once($langfile);
		} else {
	$lang = "en";
    $langfile = $dir_lg . "en-utf8.inc.php";
    require_once($langfile);
		}
}


Apparemment le file_exists ne supporte pas les adresses absolue... donc il faut rajouter $_SERVER{'DOCUMENT_ROOT'} pour que ça fonctionne...
0