php

Inclusion de fichiers


Inclusion de fichiers

include


L'instruction de langage include inclut et exécute le fichier spécifié en argument.
Cette documentation s'applique aussi à l'instruction de langage require.
Les fichiers sont inclus suivant le chemin du fichier fourni ; si aucun n'est fourni, l'include_path sera vérifié. Si le fichier n'est pas trouvé dans l' include_path, include vérifiera dans le dossier du script appelant et dans le dossier de travail courant avant d'échouer. L'instruction include enverra une erreur de type warning si elle ne peut trouver le fichier; ce comportement est différent de require, qui enverra une erreur de niveau fatal.

Si un chemin est défini, absolu (commençant par une lettre de lecteur suivie de \ pour Windows, ou / pour Unix/Linux) ou relatif (commençant par . ou ..), l'include_path sera ignoré. Par exemple, si un nom de fichier commence par ../, PHP cherchera dans le dossier parent pour y trouver le fichier spécifié.

Pour plus d'informations sur la façon dont PHP gère les fichiers inclus ainsi que le chemin d'inclusion, reportez-vous à la documentation relative à l'include_path.

Lorsqu'un fichier est inclus, le code le composant hérite de la portée des variables de la ligne où l'inclusion apparaît. Toutes les variables disponibles à cette ligne dans le fichier appelant seront disponibles dans le fichier appelé, à partir de ce point. Cependant, toutes les fonctions et classes définies dans le fichier inclus ont une portée globale.


Exemple #1

Exemple avec include :

var.php
  1. <?php
  2. $couleur = 'verte' ;
  3. $fruit = 'pomme' ;
  4. ?>


test.php

  1. <?php
  2. echo "Une $pomme $couleur"; //Une
  3. include ' var.php '
  4. echo "Une $fruit $couleur"//Une pomme verte
  5. ?>

Si l'inclusion intervient à l'intérieur d'une fonction, le code inclus sera alors considéré comme faisant partie de la fonction. Cela modifie donc le contexte de variables accessibles. Une exception à cette règle : les constantes magiques sont analysées par l'analyseur avant que l'inclusion n'intervienne.


Exemple #2

Inclusion de fichiers dans une fonction :
  1. <?php
  2. function foo() {
  3. global $couleur;
  4. include 'var.php' ;
  5. echo "Une $fruits $couleur ";
  6. }
  7. /* var.php est dans le contexte de foo() donc $fruit n'est pas disponible hors de cette fonction. $couleur l'est , car c'est une variable globale */
  8. foot();//Une pomme verte
  9. echo "Une $fruit $couleur";
  10. ?>

Il est important de noter que lorsqu'un fichier est include ou require, les erreurs d'analyse apparaîtront en HTML tout au début du fichier, et l'analyse du fichier parent ne sera pas interrompue. Pour cette raison, le code qui est dans le fichier doit être placé entre les balises habituelles de PHP.

Si les gestionnaires d'inclusion d'URL sont activés dans PHP, vous pouvez localiser le fichier avec une URL (via HTTP ou bien avec un gestionnaire adapté : voir Liste des protocoles et des gestionnaires supportés pour une liste des protocoles), au lieu d'un simple chemin local. Si le serveur distant interprète le fichier comme du code PHP, des variables peuvent être transmises au serveur distant via l'URL et la méthode GET. Ce n'est pas, à strictement parler, la même chose que d'hériter du contexte de variable. Le fichier inclus est en fait un script exécuté à distance, et son résultat est inclus dans le code courant.


Exemple #3

Utiliser l'instruction include via HTTP :
  1. <?php
  2. /*Cet exemple suppose que www.example.com est configuré pour traiter *
    * les fichiers .php et non pas les fichiers .txt. De plus, *
    * 'Work' signifie ici que les variables
    * $foo et $bar sont disponibles dans le fichier inclus */

    //Ne fonctionne pas : file.txt n'a pas été traité par www.example.com comme du PHP
  3. include ' file.php?foo=1&bar=2 '
  4. // Réussi
  5. include 'http://www.example.com/file.php?foo=1&bar=2';
  6. $foo = 1;
  7. $bar = 2;
  8. include 'file.txt'; // Ok.
  9. include 'file.php'; // Ok.
  10. ?>
Les Tableaux Lire et écrire dans un fichier texte

SUIVEZ-NOUS SUR FACEBOOK (cliquez sur j'aime)
                                           suivez-nous sur youtube: (abonnée)

ليست هناك تعليقات:

إرسال تعليق