PHP inclut des fichiers
Fichiers d'inclusion PHP
Instructions PHP include et require
En PHP, vous pouvez l'exécuter sur le fichier PHP du serveur avant d'insérer le contenu d'un fichier dans le fichier.
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.
· Require génère une erreur fatale (e_compile_error), et le script cessera de s'exécuter après que l'erreur se soit produite. · include génère un avertissement (E_WARNING) et le script continuera à s'exécuter 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, les CMS ou la programmation d'applications PHP complexes, utilisez toujours require pour référencer les fichiers clés au flux d'exécution. 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 Web. Ensuite, lorsque l’en-tête doit être mis à jour, il vous suffit de mettre à jour le fichier d’inclusion d’en-tête. Syntaxeinclure 'nom de fichier';ou exiger 'nom de fichier';
Instructions PHP include et require
<html> <head> <meta charset="utf-8"> <title> php中文网 (php.cn)</title> </head> <body> <?php include 'header.php'; ?> <h1>欢迎来到我的主页!</h1> <p>一些文本。</p> </body> </html>Exemple 2Supposons que nous ayons un fichier de menu standard utilisé dans toutes les pages. "menu.php":echo '<a href="/">Page d'accueil</a><a href="/html " >Tutoriel HTML</a><a href="/php">Tutoriel PHP</a>';Toutes les pages du site doivent être référencées Le fichier de menu . Voici l'approche spécifique :
<html> <head> <meta charset="utf-8"> <title> php中文网 (php.cn)</title> </head> <body> <div class="leftmenu"> <?php include 'menu.php'; ?> </div> <h1>欢迎来到我的主页!</h1> <p>一些文本。</p> </body> </html>Exemple 3Supposons que nous ayons un fichier d'inclusion ("vars.php") qui définit des variables :
<?php $color='red'; $car='BMW'; ?>Ces variables peuvent être utilisé dans les appels Dans le fichier :
<html> <head> <meta charset="utf-8"> <title>php中文网 (php.cn)</title> </head> <body> <h1>欢迎来到我的主页!</h1> <?php include 'vars.php'; echo "I have a $color $car"; // I have a red BMW ?> </body> </html>inclure un fichier qui n'existe pasinclure "foo.php";Le code ci-dessus contient un fichier appelé foo.php Si le fichier n'existe pas, le message d'avertissement suivant apparaîtra après l'exécution : Avertissement : include(foo.php) : échec d'ouverture du flux : aucun fichier ou répertoire de ce type dans /var/ www/web/ test.php en ligne 3Avertissement : include() : échec de l'ouverture de 'foo.php' pour l'inclusion (include_path='.:/usr/local/php/lib/php') dans /var/www /web/test.php en ligne 3
Définir le chemin absolu
inclure 'C : wampwwwfoo.php' ;Le chemin absolu est défini ci-dessus, évitant ainsi la récupération de include_path, mais que se passe-t-il si le code est COPIÉ sur quelqu'un d'autre et qu'il utilise D:wamp ou E:www ?
Si le script actuel est C:wampwwwindex.php, alors index.php peut être modifié en
include __DIR__ 'foo.php';
.Toujours avec l'exercice précédent, changer le chemin relatif en chemin absolu
une fois
include et require correspondent respectivement à une fonction once :
include_once et Il n'y a aucune différence dans la fonction de require_once
La fonction principale est d'éviter les inclusions répétées
Séparation des modèles
. Puisque include ou require est utilisé pour inclure un autre code, nous pouvons également séparer le code en différents fichiers
<?php
$name = 'andy';
$age = 18;
?>
<h1><?=$name?> a <span><?=$age?></span> ans</h1>
<?php
$name = 'andy';
$age = 18;
require "template.html";
return
L'inclusion peut également jouer de nouveaux tours S'il s'agit d'un fichier PHP, vous pouvez utiliser l'instruction return
<?php dans le fichier inclus
. $arr = include "return.php"; ?>
?>
PHP include_path Lorsque les fonctions include(), require(), fopen_with_path() sont utilisées pour rechercher des fichiers. Lorsque include_path n'est pas défini, ces fonctions rechercheront par défaut dans le répertoire racine Web lors de l'ouverture des fichiers. , ces fonctions php rechercheront d'abord
dans le répertoire include_path spécifié 1.La signification de include_path
.Lorsque les fonctions include(), require() et fopen_with_path() sont utilisées pour rechercher des fichiers. Lorsque include_path n'est pas défini, lorsque ces fonctions ouvrent des fichiers, elles rechercheront par défaut dans le répertoire racine Web. include_path , ces fonctions php rechercheront d'abord dans le répertoire include_path spécifié.
Le principe est similaire aux variables d'environnement du système de fenêtre Lorsque la fenêtre exécute la commande cmd, après avoir entré certaines commandes cmd, le système définira la recherche. les variables d'environnement pour voir si ces commandes existent. Si elles existent, elles peuvent être exécutées
Modifiez l'élément include_path dans le fichier php.ini.
include_path = .:/usr/local/lib/php:./include
Deuxième méthode :
Utilisez la méthode ini_set.
ini_set("include_path", ".:../:./include:../include");
3. Remarque
zendframework include settings index.php
.PATH_SEPARATOR.'./application/models/'
.PATH_SEPARATOR.'. / application/lib/'
.PATH_SEPARATOR.get_include_path());
Par conséquent, il est préférable d'utiliser plutôt la constante PATH_SEPARATOR lors de l'écriture d'un programme, sinon des erreurs se produiront si le système est transplanté de Linux vers un système Win ou vice versa !
get_include_path récupère les variables d'environnement existantes actuelles, ainsi que les paramètres précédents, il s'agit de la nouvelle inclusion système.