Page 1 sur 1

include

Posté : 07 mars 2008, 19:05
par bragon30
Bonjour,
débutant en php je souhaiterai sur mon site utiliser la fonction include.
le code que j'utilise fonctionne parfaitement lorsque mes pages à inclure se trouvent au meme niveau que ma page index, par contre lorsqu'elles se situent dans un repertoire cela ne marche plus :
index donc à la racine et 3 repertoires (pages_fr, formation, commun), ci joint mon code
if(!empty($_GET["page"])){
   $page = $_GET["page"];
   //$page = ereg_replace("/","subk"); // Modification de '/' par 'subk'

   $page=preg_replace("/[^a-z0-9_ ]/i", "", $page);
   $page="/".$page.".php"; // Ajout d'une extension .php
   //if(!@include("includes/$page.php"))die("Cette page n'existe pas sur le serveur, merci d'informer le webmaster du site si ce problème venait à se reproduire.");
}
else{
 $page="en_cours.php";
}


if(file_exists($page))
   include($page);
else
    include("accueil.php")
le lien utilisé dans l'index est index.php?page=commun/services

par avance merci car je sèche copieusement[/code]

Posté : 07 mars 2008, 23:20
par Cyrano
Ok, alors voici un petit schéma :

Code : Tout sélectionner

www |_[rep1] | |_ fichier1.php | |-[rep2] | |_ fichier2.php | |_ page2.php | |_ index.php |_ fichier3.php
On a à la racine (répertoire www) deux répertoires et deux fichiers. Dans le premier répertoire un fichier et dans le second deux autres fichiers.

Depuis la page index, si je veux inclure le fichier3.php, je ferai :
<?php
include('./fichier3.php');
Mais si j'ai besoin du fichier contenu dans le premier répertoire, alors je dois indiquer le nom du répertoire dans le chemin :
<?php
include('./rep2/fichier1.php');
Et si depuis la page du second répertoire je veux inclure le fichier de la racine, alors il faut indiquer dans le chemin qu'il faut remonter d'un cran :
<?php
include('../fichier3.php');
Ce qu'il faut comprendre : "./" (un seul point) indique le répertoire courant, celui dans lequel on est, tandis que "../" (deux points) indique le répertoire parent.

Partant de là, tu devrais trouver toi-même la solution :)