chemin relatif...

Eléphanteau du PHP | 20 Messages

25 févr. 2007, 18:47

Salut a tous,

j'utilise des chemin relatif dans la definition des mes require mais cela me pose un pbe.

Bon, je vais essayer de me faire comprendre......

voici l'arborescence de mon site:

index.php (a la racine qui est la page d'accueil)
dossier affiche (contient les pages de contenu)
dossier bin (contient les scripts d'insertion dans la bdd et de verif diverses)
dossier marap (contient un fichier ini dans lequel se trouve des reglages de couleurs, url du site, les identifiants de bdd pour la connexion,etc.. Ce dossier est protegé par un htaccess bien sûr. Ce dossier contient egalement un script: parametre.php qui lit le fichier ini et retourne les valeurs dans des variables utilisées par les autres scripts)

voici mon parametre.php:
<?php
	clearstatcache();
	if((file_exists('marap.ini')))
	{
	$fmarap=fopen('marap.ini','r') or die('Ouverture du fichier de parametre impossible.');
	while(!feof($fmarap))
	{
	$ligne=fgets($fmarap);
	list($nommarap,$marap)=explode("=", $ligne);
	$marapetre[$nommarap]=$marap;
	}
	fclose($fmarap);
	}
	else
	{
	die('Fichier de parametre inexistant.');
	}
?>
Je fais donc un
require(../marap/parametre.php);
au debut de chacun de mes scripts dans bin afin de recuperer dans le tableau $marapetre. Mais malheuresement j'obtient un
Fichier de parametre inexistant.
J'ai voulu utiliuser cette methode pour structurer mon site et pouvoir, en changeant mon fichier ini, le porter sur un autre site avec une autre bdd. Mais je ne sais pas si je m'y prend bien.

Merci pour votre aide.

Eléphant du PHP | 216 Messages

25 févr. 2007, 20:02

Bonjour,
ton script est pas mal il à un seul défaut, tu à oublier que pour les fichiers inclus il fallait faire les liens, includes, etc... comme si tu les appelais de la page qui fais l'includes.
Donc trêve de bavardages, voici le code correct:
<?php
    clearstatcache();
    if((file_exists('marap/marap.ini')))
    {
    $fmarap=fopen('marap/marap.ini','r') or die('Ouverture du fichier de parametre impossible.');
    while(!feof($fmarap))
    {
    $ligne=fgets($fmarap);
    list($nommarap,$marap)=explode("=", $ligne);
    $marapetre[$nommarap]=$marap;
    }
    fclose($fmarap);
    }
    else
    {
    die('Fichier de parametre inexistant.');
    }
?>
Voila :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Eléphanteau du PHP | 20 Messages

25 févr. 2007, 20:27

merci pour l'info....

effectivement, c'est ce que j'avais constaté.
Cela veut donc dire que je ne peut pas appeler mon parametre.php a partir de mon index.php qui se trouve dans le dossier parent de mon dossier bin.

pour info il manque un ../ devant le marap/marap.ini.


merci a+

Eléphant du PHP | 216 Messages

25 févr. 2007, 20:38

Ok, content que d'avoir pu t'aider, et excuse moi pour le ../ que j'avais oublié j'ai pas fais trop gaf à la généalogie de tes dossiers,

Sinon, si tu peut inclure ton fichier parametre.php sur l'index il faudra juste jouer sur les chemins afin que les url qui appel tes fichiers soient faites comme si tu les appelé depuis l'index.

Voila :D
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image