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.

Include et Require En plus des différentes manières de gérer les erreurs, elles sont les mêmes sous d'autres aspects :

· 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.

Syntaxe

inclure 'nom de fichier';

ou

exiger 'nom de fichier';


Instructions PHP include et require

Exemple de base

Supposons que vous ayez un fichier d'en-tête standard nommé "header. php". Pour référencer ce fichier d'en-tête dans une page, utilisez include/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 2

Supposons 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 3

Supposons 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 pas

inclure "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 3

Avertissement : 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

QQ图片20161009144823.png

2.include_path settings

La première méthode. :

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

Copiez le code comme suit :

set_include_path('.' .PATH_SEPARATOR.'../library/'

.PATH_SEPARATOR.'./application/models/'
.PATH_SEPARATOR.'. / application/lib/'
.PATH_SEPARATOR.get_include_path());

PATH_SEPARATOR est une constante, qui est un nombre ":" dans les systèmes Linux et un nombre ";" sous Windows.

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.


Formation continue
||
<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>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel