Lorsque vous débutez en PHP, vous allez rapidement rencontrer trois instructions essentielles : include
, require
et require_once
. Ces mots-clés permettent d’inclure des fichiers externes dans votre code PHP, mais ils ne fonctionnent pas exactement de la même manière.
Dans ce tutoriel , nous allons voir ensemble :
- Ce que font
include
,require
etrequire_once
. - En quoi ils sont différents.
- Des cas concrets d’utilisation.
- Et quel choix faire selon votre situation.
Ce tutoriel est destiné à tous ceux qui souhaitent mieux comprendre le fonctionnement de ces fonctions. Vous n’avez pas besoin d’être un expert en PHP pour suivre ce tutoriel.
À quoi servent include, require et require_once en PHP ?
Lorsque vous développez un site ou une application avec PHP, vous allez souvent devoir réutiliser le même code à plusieurs endroits. Par exemple :
- Une entête de page (
header.php
) - Un pied de page (
footer.php
) - Un fichier de configuration (
config.php
) - Une connexion à la base de données (
db.php
)
Plutôt que de copier-coller ce code dans chaque fichier, vous pouvez tout simplement l’inclure avec include
, require
ou require_once
(En savoir plus sur La Gestion des layout en PHP).
Ainsi, si vous modifiez une seule fois le fichier externe, le changement sera automatiquement pris en compte partout où il est inclus. C’est un gain de temps et cela rend votre code plus propre et plus facile à maintenir.
1. Include : l’inclusion souple
include 'config.php';
Que fait include ?
La fonction include
va insérer le contenu du fichier config.php
dans votre script, à l’endroit exact où elle est appelée.
Et s’il y a une erreur ?
Si le fichier n’existe pas ou contient une erreur, PHP affichera un avertissement (warning
), mais continuera l’exécution du script.
Exemple concret
Imaginons que vous ayez un fichier header.php
contenant votre menu de navigation :
<!-- header.php -->
<nav>
<a href="index.php">Accueil</a>
<a href="contact.php">Contact</a>
</nav>
Et dans votre page principale :
<!-- index.php -->
<!DOCTYPE html>
<html>
<head>
<title>Ma page</title>
</head>
<body>
<?php include 'header.php'; ?>
<h1>Bienvenue sur mon site</h1>
</body>
</html>
Grâce à include, vous n’avez pas besoin de réécrire le menu à chaque fois.
2. Require : l’inclusion stricte
require 'config.php';
Quelle différence avec include ?
require
fonctionne presque de la même manière que include
, sauf sur un point très important : si le fichier n’est pas trouvé ou s’il y a une erreur, PHP va interrompre l’exécution du script.
Pourquoi utiliser require ?
Utilisez require
lorsque le fichier est indispensable au bon fonctionnement de votre application. Par exemple, pour se connecter à une base de données ou charger une configuration essentielle.
Exemple concret
<?php
require 'db.php'; // fichier contenant la connexion à MySQL
// Requête SQL ici
Si le fichier db.php
est manquant ou contient une erreur, il est préférable de stopper l’exécution, car la suite du script ne pourra pas fonctionner correctement.

Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?3. Require_once : pour éviter les doublons
require_once 'config.php';
À quoi sert require_once ?
La fonction require_once
vérifie d’abord si le fichier a déjà été inclus précédemment. Si c’est le cas, il ne l’inclut pas une seconde fois.
Cela permet d’éviter les conflits, notamment lorsque plusieurs fichiers incluent le même fichier.
Quand l’utiliser ?
Utilisez require_once
(ou include_once
) si vous n’êtes pas certain que le fichier a déjà été inclus dans une autre partie du code. Cela vous évite les doublons, les erreurs de redéclaration de fonctions ou de classes, et d’éventuels bugs.
Exemple concret
Imaginons que vous ayez une fonction déclarée dans un fichier :
// fonctions.php
function direBonjour() {
echo "Bonjour !";
}
Si vous utilisez ce fichier dans plusieurs parties de votre site :
require_once 'fonctions.php';
require_once 'fonctions.php'; // n'est pas inclus une seconde fois
Vous n’aurez pas d’erreur. Mais si vous aviez utilisé require
, vous auriez eu une erreur fatale à cause de la double déclaration de la fonction.
Comparaison : include, require et require_once
Fonction | Si le fichier est manquant ? | Inclus plusieurs fois ? | Cas d’usage principal |
---|---|---|---|
include | Affiche un warning, continue | Oui | Inclusion facultative (ex : bannière, menu) |
require | Affiche une erreur fatale, stoppe le script | Oui | Inclusion obligatoire (ex : config, DB) |
require_once | Erreur fatale si absent, mais n’inclut qu’une seule fois | Non | Inclusion obligatoire et unique |
Bonnes pratiques à adopter
- Utilisez
require_once
pour les fichiers critiques comme la configuration ou la connexion à la base de données. - Préférez
include
pour les fichiers secondaires (pied de page, publicité, etc.). - Évitez les doublons en utilisant
require_once
plutôt querequire
. - Regroupez les inclusions en haut de votre script pour une meilleure lisibilité.
- Utilisez des chemins relatifs ou absolus correctement pour éviter les erreurs.
Astuce : gérer les chemins avec DIR
Pour éviter les problèmes liés aux chemins relatifs, vous pouvez utiliser __DIR__
, une constante magique PHP.
require_once __DIR__ . '/config.php';
Cela garantit que PHP cherche le fichier dans le dossier du script actuel, peu importe où vous exécutez le fichier.
Cas concret : un site structuré proprement
Arborescence :
/mon_site/
│
├── index.php
├── config.php
├── db.php
├── header.php
├── footer.php
└── pages/
└── contact.php
Dans index.php :
<?php
require_once 'config.php';
require_once 'db.php';
include 'header.php';
?>
<h1>Bienvenue</h1>
<?php include 'footer.php'; ?>
Dans pages/contact.php :
<?php
require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../db.php';
include __DIR__ . '/../header.php';
?>
<h1>Contactez-nous</h1>
<?php include __DIR__ . '/../footer.php'; ?>
Avec cette structure :
- Le code est réutilisable.
- Il est organisé et maintenable.
- Vous évitez les doublons ou erreurs de redéclaration.

Conclusion : que faut-il retenir ?
include
est souple, mais non bloquant en cas d’erreur. Idéal pour des éléments optionnels.require
est plus strict : il stoppe le script si le fichier est manquant.require_once
est votre meilleur allié quand vous avez besoin d’un fichier une seule fois et que son contenu est essentiel.
Utilisez les bonnes fonctions au bon moment, et vous gagnerez en clarté, sécurité et robustesse dans vos projets PHP.
Allez plus loin avec PHP :
- Switch ou Match en PHP ?
- Guillemets simples ou doubles en PHP ?
- 40 fonctions pour manipuler les strings en PHP
- Introduction à la POO en PHP
- Sécuriser les Header HTTP en PHP
- 🔥 Vendredi 25 Avril 2025 >19h00
HTML & SémantiqueStructure d'une page HTML