Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

PHP - MySQL [Retour au menu]
Incluson de fichiers externes

La fonction include, fichiers textes, fichiers HTML, fichiers en provenance de sous dossiers, exemple d'une bibliothèque de fonctions

Voir aussi : require(), include(), include_once(), get_required_files(), get_included_files(), readfile(), et virtual().

Insertion de fichiers externes : Include

Soit un fichier appelé MonTexte.txt créé dans la racine du site avec le bloc notes, qui contient littéralement :

Ceci est
le contenu
de mon fichier texte

L'inclusion de ce fichier avec la fonction include

<BODY>
Avant le fichier
<?
include("MonTexte.txt");
?>
Après le fichier
</BODY>

Afficherait le contenu sans tenir compte des 3 lignes (Remarquez l'espace créé entre "fichier" et "Ceci", et l'absence d'espace entre "texte" et "Après"):

Avant le fichier Ceci est le contenu de mon fichier texteAprès le fichier

Ce petit espace disparait si on écrit l'instruction en une seule ligne :

<BODY>
Avant le fichier<?include("MonTexte.txt");?>Après le fichier
</BODY>

Inclusion d'un fichier HTML se trouvant dans un sous-dossier

Si nous créons un dossier dans la racine du Web que nous appelons fichierdivers, et que vous y créons un fichier chiffre.htm qui contient

Un
Deux
Trois

Pour l'inclure tel quel, nous utilisons la syntaxe suivante :

Avant le fichier
<? include("fichierdivers/chiffre.htm"); ?>
Après le fichier

Et nous obtiendrons l'affichage suivant :

Avant le fichier
Un
Deux
Trois
Après le fichier

Création d'une bibliothèque de fonctions

Une application particulièrement élégante est l'utilisation d'un fichier texte externe qui contient des fonctions de votre cru. Afin d'éviter de recopier sans cesse toujours les mêmes fonctions dans vos différentes pages PHP, pourquoi ne pas créer des fichiers textes (style : mesfonctions.txt) qui contiennent vos propres fonctions.

Imaginons que vous utilisiez souvent la fonction Test :

function MonTest()
  {
  echo "ok";
  }

Afin de pouvoir la réutiliser sans cesse dans vos différentes pages, créez un dossier appelé mesfonctions à la racine de votre site, et, dans ce dossier, placez-y un fichier que vous appellerez testfonction.txt, et qui contiendra exactement

function MonTest()
  {
  echo "ok";
  }

Maintenant, il suffit d'insérer, par exemple au tout début de vos pages php la ligne :

<?
include("http://www.info-3000.com/mesfonctions/testfonction.txt");
?>

<html>
<head>
<title>Document sans titre</title>
...

Maintenant, si vous avez une page PHP (testappel.php) qui a besoin d'utiliser cette fonction MonTest(), vous n'avez qu'à l'appeler de cette manière :

<?
  include("http://www.info-3000.com/mesfonctions/testfonction.txt");
?>
<html>
  <head>
    <title>Test d'inclusion</title>
  </head>
  <body>
    <?
      MonTest();
    ?>

  </body>

</html>

Attention : L'include va simplement inclure le fichier testfonction.txt sans autre forme de procès. Ce qui fait qu'après l'inclusion, la fonction sera lisible en clair en haut de testappel.php pour autant qu'on fasse Affichage/Source, évidemment.

On pourrait se dire que c'est un inconvénient mineur, mais pas tant que ça. En fait, il FAUT que le contenu de testfonction.txt soit encadré de <? et ?>, comme ceci :

<?
function MonTest()
  {
  echo "ok";
  }
?>

Sinon, on aura droit à une FATAL ERROR : La fonction MonTest ne sera simplement pas trouvée. On pourrait se demander s'il n'y a pas tout à coup des problèmes d'imbrication de balises <? et ?> entre l'include et testfonction.php, mais j'ai testé, ça à l'air de parfaitement fonctionner.

--