PHP inclut des fichiers
En PHP, vous pouvez insérer le contenu d'un fichier dans le fichier PHP avant qu'il ne soit exécuté par le serveur. Les instructions
include et require sont utilisées pour insérer du code utile écrit dans d'autres fichiers dans le flux d'exécution.
include et require sont identiques sauf pour la fa?on dont ils gèrent les erreurs?:
require génère une erreur fatale (E_COMPILE_ERROR), le script arrêtera de s'exécuter après qu'une erreur se soit produite.
include génère un avertissement (E_WARNING) et le script continuera l'exécution après que l'erreur se soit produite.
Donc, si vous souhaitez continuer l'exécution et afficher les résultats à l'utilisateur même si le fichier inclus est manquant, utilisez include. Sinon, dans les frameworks, CMS ou programmation d'applications PHP complexes, utilisez toujours require
pour référencer les fichiers clés vers le flux d'exécution (d'une instruction à la suivante, jusqu'à la fin du programme). Cela contribue à améliorer la sécurité et l’intégrité des applications en cas de perte accidentelle d’un fichier critique.
L'inclusion de fichiers permet d'économiser beaucoup de travail. Cela signifie que vous pouvez créer des fichiers d'en-tête, de pied de page ou de menu standard pour toutes les pages. Ensuite, lorsque l’en-tête doit être mis à jour, il vous suffit de mettre à jour le fichier d’inclusion d’en-tête.
Syntaxe
include "nom de fichier";
ou
exiger "nom de fichier";
Instance
Supposons qu'il existe un fichier nommé header.php comme suit
<?php header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼 $name="PHP中文網(wǎng)"; $php="PHP"; ?>
Utilisez include pour inclure le header.php fichier
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <?php include "header.php"; echo "歡迎來(lái)到"."$name"."學(xué)習(xí)"."$php"; ?> </body> </html>
Résultat de l'exécution du programme?:
Bienvenue sur le site Web PHP chinois pour apprendre PHP
< Il existe un fichier de menu standard nommé "menu.php"?: <?php
header("Content-type:text/html;charset=utf-8"); //設(shè)置編碼
echo '<a href="/index.asp">首頁(yè)</a> -
<a href="/html/index.asp">HTML 教程</a> -
<a href="/css/index.asp">CSS 教程</a> -
<a href="/js/index.asp">JavaScript 教程</a> -
<a href="/php/index.asp">PHP 教程</a>';
?>
Utilisez "require" pour inclure le fichier "menu.php" <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP中文網(wǎng)</title>
</head>
<body>
<h1>歡迎來(lái)到PHP中文網(wǎng)</h1>
<?php
require "header.php";
?>
</body>
</html>
programme Résultats en cours d'exécution?:
Page d'accueil - Tutoriel HTML - Tutoriel CSS - Tutoriel JavaScript - Tutoriel PHP
include VS require
include et require ont une énorme différence?: si vous utilisez une instruction include pour référencer un fichier et que PHP ne trouve pas le fichier, le script va
continuer l'exécution.
Si nous utilisons l'instruction require pour terminer le même cas, l'instruction echo ne poursuivra pas l'exécution car le script terminera l'exécution après que l'instruction require ait renvoyé une erreur grave
Exemple
Utiliser include pour inclure des fichiers inexistants
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <h1>歡迎來(lái)到PHP中文網(wǎng)</h1> <?php include "noFile.php"; echo "我在學(xué)"."$name"; ?> </body> </html>
Résultat de l'exécution du programme?:
Bienvenue sur le site Web PHP chinois
J'apprends
Utilisez require pour inclure des fichiers existants
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)</title> </head> <body> <h1>歡迎來(lái)到PHP中文網(wǎng)</h1> <?php require "noFile.php"; echo "我在學(xué)"."$name"; ?> </body> </html>
Résultat de l'exécution du programme?:
Bienvenue sur le site Web PHP chinois
Remarque ?: Lorsque vous utilisez include et require pour inclure un fichier inexistant, un message d'avertissement peut appara?tre. Il s'agit du niveau d'erreur que vous pouvez définir dans php.ini
- <. ??>Ouvrez php.ini
- Ctel+F recherchez error_reporting
- Trouver error_reporting = E_ALL
- Remplacer error_reporting = E_ALL par error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING
Redémarrer Apache