Problème chemin entre dossier php

novice100 Messages postés 12 Statut Membre -  
ChrisCompote Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. ChrisCompote Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   8
     
    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