Problème affichage include

Bonjour,
Je suis actuellement stagiaire et je dois apporter des modifications à un site web (je travaille donc avec wamp).
Mon problème est le suivant :
J'ai différentes pages en php placées à la racine (dans wamp/www/foot), mais c'est un peu le bordel donc je décide de faire différents sous-répertoires pour organiser un peu le tout (exemple : wamp/www/foot/ajout)...seul problème l'affichage de mes includes (ils sont placés dans wamp/www/foot/include) ne fonctionnent plus.. J'ai essayé en mettant des ../ , / , ../../ devant les includes mais rien ne fonctionnent :

define('_SITE_', "Administration");

define('_TITLE_', 'Gestion des news');

define('_STYLE_', 'default');

include 'include/class/Utilities.class.php';

include 'include/config.php';

include 'include/connexion.php';

include 'include/header.php';

include 'include/container.php';

Voilà, merci d'avance de l'aide et en espérant trouver une solution :).

Cordialement

8 réponses

  1. Les includes sont relatifs au script php qui les appels. Si ton fichier php est situer à: www/foot/ajout/script.php et que les includes sont dans www/includes/ donc l'appel doit être ansi:

    include '../../includes/fichier.php';
    1. Je viens de le refaire et ça m'affiche cette erreur :
      Warning: include(../../include/header.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\foot_usmef\Ajout\ajout_palmares.php on line 65

      Warning: include() [function.include]: Failed opening '../../include/header.php' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\foot_usmef\Ajout\ajout_palmares.php on line 65

      Si je mets ../includes/fichiers.php voici ce que ça m'affiche :

      http://www.casimages.com/img.php?i=120615111620930182.jpg
      1. Peux-tu donner le structure de tes fichiers? Exemple:

        www/  
           include/  
               include.php  
           foot/  
              sous-dossier-de-foot/  
                 fichier.php  
        


        Mets le tout dans < code> </code > (sans espaces) dans ce site pour laisser les espaces intacts
        1. www/  
                  foot/  
                         Ajout/fichiers.php  
          
                         basededonnées/basededonnées.sql  
          
                         css/fichiers.css  
          
                         include/mesincludes.php  
          
                         js/ 


          le reste du site : http://www.casimages.com/img.php?i=120615112635872107.jpg
          1. C'est en effet "../includes/fichiers.php" le chemin à inclure.

            Cependant, il faut aussi adapter les chemins des fichiers JS et CSS :
            <script src="../js/file.js" ...
            <link rel="stylesheet" href="../css/styles.css" ...
            1. Le problème est que mes <link rel="stylesheet" href="css/styles.css"... sont dans mes includes donc si je modifie les chemins des fichiers JS et CSS en mettant ../ devant, toutes les pages se trouvant à la racine ne s'afficheront plus... (je viens d'essayer, seuls les pages se trouvant dans des sous-répertoires s'affichent comme je le souhaite) ^^'
              1. La solution la + simple à adapter est alors de faire ainsi :
                <script src="/js/file.js" ...
                <link rel="stylesheet" href="/css/styles.css" ...

                De cette façon, les chemins sont relatifs au domaine et non à l'URL en cours.
                1. la meilleur facon est de creer un fichier config.php et de mettre une variable qui definie la racine du site et enfin faire tous tes autres liens a partir de celle-ci.