Inclure un fichier dans un autre grâce à PHP
Le 02-05-2007 par Collectif Alsacreations dans Tutoriels PHP.
Tout site possède au moins une partie commune à chaque page. Partant de ce constat, pourquoi ne pas insérer de manière dynamique ces éléments et éviter ainsi de dupliquer les portions de codes répétées d'une page à l'autre ?
Faciliter la maintenance d'un site et permettre son évolution sans avoir besoin de tout reprendre, tel est le principal attrait de cette méthode.
Alors, si comme bon nombre d'entre nous, vous êtes légèrement fainéant sur les bords, et trouvez dommage de vous embêter à ré-écrire une partie de votre code alors qu'une simple ligne suffit ... Ce tutoriel est fait pour vous !
Il vous détaille, pas à pas, la façon de procéder pour inclure un élément sur une ou plusieurs pages de votre site, au moyen de la fonction include().
Sommaire
Aller plus loin…
Maintenant que vous maîtrisez toutes les ficelles de l’include(), vous vous demandez certainement si l’on ne pourrait pas aller encore plus loin…
Rejouissez-vous, la réponse est oui… :o)
Dans l’optique où le fichier à inclure est au format php (et uniquement dans ce cas-là), il est tout à fait possible d’y insérer des scripts php, qui seront eux aussi, interprétés. Il est par exemple tout à fait possible de placer un include() dans le fichier à inclure !
De plus, pourquoi se restreindre à inclure dynamiquement quelques morceaux de codes, lorsque l’on pourrait également insérer le <DOCTYPE> et l’appel aux feuilles de style ? En effet, il est tout à fait possible de concevoir des fichiers header.inc.php et footer.inc.php contenant les balises <html> et <body> !
En reprenant l’exemple étudié, nous pourrions par exemple modifier header.inc.php comme ceci :
<!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=iso-8859-1" />
<title>Alsacréations. Création de sites web à Strasbourg en Alsace
(W3C, XHTML, CSS et accessibilité).</title>
<meta name="description"
content="Webagency spécialiste dans la conception de sites web conformes
aux standards internationaux W3C, HTML, XHTML, CSS et en accessibilité
pour personnes handicapées. Situé à Strasbourg en Alsace." />
<meta name="keywords"
content="creation de site web, site web, agence web, prestations internet,
réalisation de sites, strasbourg, alsace, bas-rhin, standard, standards,
w3c, accessibilité, sites accessibles, CSS, HTML, XHTML, PHP, Flash" />
<link type="text/css" rel="stylesheet" href="styles.css" title="styles" />
<link type="text/css" rel="alternate stylesheet" href="stylesbig.css" title="stylesbig" />
<link type="text/css" rel="stylesheet" href="print.css" media="print" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<script type="text/javascript" src="styleswitcher.js"></script>
</head><body id="alsacreations">
<div id="header">
<div id="evitement">
<ul id="evitement_liens">
<li><a href="http://www.alsacreations.fr" accesskey="1">accueil</a> · </li>
<li><a href="accessibilite.html" accesskey="0">accessibilité</a> · </li>
<li><a href="#contenu" accesskey="s">aller au contenu</a> · </li>
<li><a href="plan.html" accesskey="3">plan du site</a> · </li>
<li><a href="contact.html" accesskey="7">contact</a></li>
</ul>
</div>
<h1>Alsacréations, création de sites internet en Alsace (Strasbourg Bas-Rhin)</h1>
<a id="lien-accueil" class="cache" href="http://www.alsacreations.fr"
title="cliquez pour revenir à l’accueil">Retour à l’accueil</a>
</div> <!-- fin de header -->
<div id="headersous">
<p>
<a href="#" onclick="setActiveStyleSheet('styles'); return false;" class="small"
title="diminuer la taille du texte"><img src="design/font-small.gif"
alt="diminuer la taille du texte" /></a>
<a href="#" onclick="setActiveStyleSheet('stylesbig'); return false;" class="big"
title="augmenter la taille du texte"><img src="design/font-big.gif"
alt="augmenter la taille du texte" /></a>
</p>
</div> <!-- fin de headersous -->
<div id="menu">
<ul>
<li><a href="creation.html" id="creation"
title="Création de sites et webdesign"><span>Créations</span></a></li>
<li><a href="solutions.html" id="solutions"
title="Solutions et développement web"><span>Solutions</span></a></li>
<li><a href="expertises.html" id="expertises"
title="Expertises en accessibilité et conformité"><span>Expertises</span></a></li>
</ul>
</div> <!-- fin de menu -->
Et créer le fichier footer.inc.php ainsi :
<div id="footer"> (…) ici le contenu du footer (…) </div> <!-- fin de footer --> </body></html>
Notre fichier index.php aurait alors cette allure-ci :
<?php include('header.inc.php'); ?>
<div id="global"> (…) ici le contenu global (…) </div> <!-- fin de global -->
<?php include('footer.inc.php'); ?>
Pratique n’est-ce pas ?
Voilà, l’instruction include() n’a maintenant plus aucun secret pour vous.
Vous avez toutes les cartes en main pour créer vos propres fichiers…
A vous de jouer !
Tutoriel écrit par Corinne Schillinger (Cygnus sur le forum).
Article soumis à licence Creative Commons "by" : Vous devez citer le nom de l'auteur original et mentionner la source (url) de l'article.
Un problème, une question ?
Vous avez des soucis avec ce tutoriel ? Venez en discuter dans le salon spécifique aux tutoriels et articles du Forum Alsacréations.





