[résolu]Bonjour problème de include fichier php

Vous avez un soucis de développement et ce n'est pas du ressort de notre support ? N'hésitez pas à soumettre vos petits soucis de développement et à vous entre aider par la même occasion.
Inconnu
Cet utilisateur a supprimé son compte et n’existe plus.
Messages : 6340
Inscription : 29 décembre 2010 à 18:15

Voila mon problème, dans mon répertoire Templates j'ai un fichier (modelindex.dwt.php) qui inclue une page php qui ce trouve dans le dossier (media) le nom de la page est autre.php qui doit afficher des donnée venant de la base de donnée.
voici l'arborescence des dossier et fichiers:
racine du site: jaco.franceserv.com

dossier ou ce trouve toutes les pages et dossiers du site: artidev

dans artidev: Templates/modelindex.dwt.php

toujours dans artidev: index.php, qui est generer par le template

toujours dans artidev: media/autre.php

ma page index.php affiche les erreurs suivantes:

Warning: include(/home/httpd/e/s/p/espace-jaco/jaco.franceserv.com//media/autre.php) [function.include.php]: failed to open stream: No such file or directory in /home/httpd/e/s/p/espace-jaco/jaco.franceserv.com/artidev/index.php on line 31


voici le code de la page modelindex.dwt.php dans le dossier Templates qui inclus la page autre.php du dossier media

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- TemplateBeginEditable name="doctitle" -->

<title><?php include('header/titre.html'); ?></title>

<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->

<link href="../css/position.css" rel="stylesheet" type="text/css" />

</head>

<body class="pose">

<div id="contenairegeneral">

<div id="entete"><?php include('header/logo.html'); ?>
                <?php include('header/slogan.html'); ?></div>
                <!-- fin entete -->
                
<div id="contenairegauche"><!-- TemplateBeginEditable name="menu" -->
  <div id="menu">
    <h3>Menu</h3>
  </div>
<!-- TemplateEndEditable -->
<!-- fin menu -->

<div id="autre"><?php include ($_SERVER['DOCUMENT_ROOT'].'/media/autre.php'); ?>
</div><!-- fin autre -->

</div><!-- fin contenaire gauche -->

<div id="contenairedroite"><!-- TemplateBeginEditable name="login" -->
  <div id="login">
    <h3>S'identifier:</h3>
    <p></p>
  </div>
<!-- TemplateEndEditable -->
<!-- fin logn -->

<div id="pub"><?php include ($_SERVER['DOCUMENT_ROOT'].'/media/pub.php'); ?>
</div>
<!-- fin pub -->

</div><!-- fin contenaire droite -->

<div id="contenairecentral"><!-- TemplateBeginEditable name="pagecentrale" -->
  <div id="pagecentrale">
    <h1>Contenu page</h1>
  </div>
<!-- TemplateEndEditable -->
  <!-- fin page centrale -->
  
<div id="pagepartenaire"><?php include ($_SERVER['DOCUMENT_ROOT'].'/media/partenaire.php'); ?>
</div><!-- fin page partenaire -->
        
</div><!-- fin contenaire central -->
 
<br class="clearfloat" />
<!-- Cet class de suppression doit suivre immédiatement l'élément div #contenairecentral afin de forcer l'élément à contenir tous les éléments flottants enfants -->

<div id="baspage"><?php include('header/pied_page.html'); ?></div>    
</div><!-- fin contenaire general -->

</body>
</html>
Comme vous pouvez le voir ma page de template inclus plusieures page php et html,
donc quant la solution auras été trouver pour afficher les resultats de la page autre.php ce ne seras plus un problème pour résoudre les autre.
merci d'avance pour votre aide.
amicalement espace-jaco
Franceserv
Messages : 905
Inscription : 2 avril 2010 à 20:14

Bonjour,

La page autre.php ne se trouve pas dans le dossier /media/ mais dans le dossier /artidev/media/ de même pour tout le site.

La variable d'environnement $_SERVER['DOCUMENT_ROOT'] correspond à l'emplacement de la racine du site sur le serveur. C'est très bien d'utiliser cette variable car ça permet de ne pas se soucier de l'arborescence système chez l'hébergeur.

Ce qui fait que au lieu d'écrire :

Code : Tout sélectionner

$_SERVER['DOCUMENT_ROOT'].'/media/pub.php'
il faut mettre à la place :

Code : Tout sélectionner

$_SERVER['DOCUMENT_ROOT'].'artidev/media/pub.php'
Par ailleurs, cette variable possède déjà le / final de l'emplacement système, il est alors inutile de le répéter de nouveau dans le chemin de l'arborescence du site.
Répondre