Problème chemin entre dossier php

Fermé
novice100 Messages postés 10 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 30 mai 2010 - 30 mai 2010 à 16:10
ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 - 8 juin 2010 à 23:12
Bonjour,
J'ai un petit souci, car je n'arrive pas à trouver le chemin entre un sous-dossier et une page d'accueil. Le site est en php.
Quelqu'un pourrait-il me donner un coup de main? Merci.

Voici mon arborescence :
http://localhost/Site_Test/ : ceci est la racine de mon site.

Voici ma page d'accueil (index.php) avec dedans un lien vers une autre page.
<?php echo'<a href="theme1/animaux.php" "style="width: 92px;">Animaux</a>'; ?>

Dans la page animaux.php, j'ai fait des includes comme ceci afin ne ne pas répéter la page index (haut page, etc), c'est là que je veux retourner à la page d'accueil...
<?php include("entete.php"); ?>

(j'ai même essayé de faire <?php include("../entete.php"); ?>, <?php include("/entete.php"); ?>, <?php include("../../entete.php"); ?>) mais rien n'a fonctionné...

si je tape <?php include("../entete.php"); ?> dans le sous-dessoier, je peux y aller, mais mon problème est que je n'arrive pas à retourner au dossier parent, donc à la page d'accueil.
Le chemin qui est affiché dans l'URL est le suivant et je ne trouve pas la solution ??
http://localhost/Site_Test/theme1/index.php


1 réponse

ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 8
8 juin 2010 à 23:12
Bonsoir,


Effectivement tu te perds dans l'arborescence.
Ai à l'esprit que la racine n'est pas / mais /Site_Test/
SI j'ai bien compris ton arbo
/ Site_Test/ index.php
theme1/animaux.php
entete.php


Plusieurs tuyau :
Crée un fichier include.php dans lequel tu écris tous tes includes à effectuer.

/ Site_Test/ include.php

Pour les liens sur le site, créer toi une variable globale dans le fichier include qui contiendra la racine du site :

define('ROOT_URL','http://localhost/Site_Test/');


En PHP quand tu programme un lien tu feras :

<a href="<?php echo ROOT_URL?>theme1/animaux.php" style="width: 92px;">Animaux</a>


Ce qui donnera

<a href="http://localhost/Site_Test/theme1/animaux.php" style="width: 92px;">Animaux</a>


à chaque début de fichier PHP défini un $niv dans ton arborescence par rapport à la racine web de ton serveur.

Dans ton cas dans index.php ça sera

$niv = '../';
include($niv.'Test_Site/include.php'); //supposant que include est au meme niveau que index


dans Animaux.php tu auras

$niv = '../../';
include($niv.'Test_Site/include.php');


et dans ton include tu auras

define('ROOT_URL','http://localhost/Site_Test/');
include($niv.'entete.php');



0