La différence entre les fichiers include et require en php (y compris une explication détaillée)
1 Utilisation de la syntaxe et Introduction
1. Syntaxe include() :
include(/path/to/filename)
include() inclura un fichier à l'emplacement où il est appelé. L'inclusion d'un fichier a pour effet de copier les données du fichier spécifié à l'emplacement de l'instruction.
Vous pouvez ignorer les parenthèses lorsque vous utilisez include(). Lorsque vous utilisez include() dans une instruction conditionnelle, elle doit être placée entre accolades du bloc d’instructions ou entourée d’autres wrappers d’instructions.
2. Syntaxe include_once() :
include_once(filename)
l'instruction include_once() inclut et exécute le fichier spécifié pendant l'exécution du script. Ce comportement est similaire à l'instruction include(). La seule différence est que include_once() déterminera d'abord si le fichier a déjà été inclus. S'il a été inclus, cette inclusion sera ignorée.
3. Syntaxe require() :
require(filename)
require() est en grande partie la même que include, les deux incluent un fichier modèle dans require Call position assise. Il existe deux différences importantes entre require et include.
1. Quel que soit l'emplacement de require, le fichier spécifié sera inclus dans le script là où require apparaît. Par exemple, même si require est placé dans une instruction if qui renvoie false, le fichier spécifié sera toujours inclus.
2. Lorsque require échoue, le script cessera de s'exécuter, mais si include est utilisé, le script continuera à s'exécuter.
4. Syntaxe require_once() :
require_once(filename)
l'instruction require_once() inclut et exécute le fichier spécifié pendant l'exécution du script. Ce comportement est similaire à l'instruction require(). La seule différence est que require_once() déterminera d'abord si le fichier a déjà été inclus, s'il a été inclus, il ignorera cette inclusion.
2 Résumé des différences
1 Différence entre les instructions include() et require().
Exemple 1
include('hello.php'); echo 'include test final!';//include报错,但是会继续执行,显示:include test final! require('hello.php'); echo 'require test final!';//require报错,停止代码的执行。
Résumé :
⑴ include() génère un avertissement et le script continuera à s'exécuter.
⑵ require() provoquera une erreur fatale et le script cessera de s'exécuter.
En d'autres termes, utilisez require() si vous souhaitez arrêter le traitement de la page lorsqu'un fichier manquant ou une erreur est rencontré. Si vous souhaitez continuer le traitement de la page lorsqu'une erreur est rencontrée, utilisez include().
Notez qu'avant PHP 4.3.5, les erreurs de syntaxe dans les fichiers d'inclusion n'entraînaient pas l'arrêt du programme, mais à partir de cette version, ce serait le cas.
2. require() inclura les fichiers de toute façon, tandis que include() peut inclure sélectivement
Exemple 2
<?php if(FALSE){ require('x.php'); } if(FALSE){ include('s.php'); } ?>
Dans ce qui précède code : x.php sera certainement inclus, mais s.php ne sera certainement pas inclus.
3. La différence entre include_once(), require_once() et include(), require()
include_once() est la même que require_once() et devrait être utilisé dans Lorsque le même fichier peut être inclus plusieurs fois lors de l'exécution du script, vous souhaitez vous assurer qu'il n'est inclus qu'une seule fois pour éviter des problèmes tels que la redéfinition des fonctions et la réaffectation des variables. C'est la principale différence entre include_once() et require_once() et include() et require().
Trois problèmes qui nécessitent une attention
1. Problèmes de chemin
inclusions particulièrement imbriquées lors de l'exécution alors, assurez-vous de faire attention au chemin du fichier inclus. Par exemple, le fichier A contient le fichier B, le fichier B contient le fichier C et les fichiers A, B et C ne se trouvent pas dans le même dossier. Il est souvent facile de commettre des erreurs à ce stade.
Solution : Vous pouvez utiliser l'instruction dirname(__FILE__), ce qui signifie obtenir le chemin absolu du script actuel. Par exemple : require_once(dirname(__FILE__).'/config.php');
2. Problèmes d'efficacité
include_once(), require_once(). , Comparé à include() et require(), il est moins efficace car ils doivent au moins d'abord déterminer si le fichier est inclus. Ce problème a été grandement amélioré dans la version PHP5, mais il existe toujours une différence d'efficacité.
Merci à tous d'avoir lu, j'espère que vous ferez des progrès après avoir lu.
Tutoriel recommandé : "Tutoriel PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!