Inclure « correctement » des fichiers en PHP

Bon, soyons clair, voici la bonne méthode pour inclure des fichiers PHP.

Par exemple, si vous voulez inclure le fichier raoul.php sous le répertoire include.

< ?php
require_once (dirname(__FILE__).'/include/raoul.php');

La constante __FILE__ nous donne le chemin absolu du fichier courant et dirname son répertoire.

Vous me direz, quel intérêt de faire cette manipulation, un simple

< ?php
require_once ('include/raoul.php');

est suffisant.

Certes, le répertoire courant étant par défaut inclus dans l’include path, cela va marcher … mais uniquement si vous appelez directement ce fichier depuis votre navigateur ! Si vous l’incluez depuis un autre script se trouvant dans un autre répertoire c’est la Fatal error garantie. Enfin, spécifier le chemin absolu fait un peu gagner en performances car PHP n’a pas à examiner tous les répertoires indiqué dans include_path.

Publicités

5 réflexions au sujet de « Inclure « correctement » des fichiers en PHP »

  1. Ping : Laurent Deséchalliers : “Tech”Blog » [Veille>Dev] Inclure “correctement” des fichiers en PHP

  2. Diebol

    Salut Please i’ need your help
    Chez moi ca ne marche pas
    J’ai une page.php dans un repertoire1 et dans cette Page1 j’ai un include qui appelle Traitement.php dans un repertoire2
    Html..Page1….Repertoire1

    Reponse de IE /
    Fatal error: require_once() [function.require]: Failed opening required ‘C:wampwwwLearningFFEssai/EnTete.php’ (include_path=’.;C:php5pear’) in C:wampwwwLearningFFEssaiNotions.php on line 9

    Répondre
    1. Olivier Mansour

      @Diebol, désolé, je ne peux pas t’aider précisément. A la ligne 9 de Notions.php tu fais appel à un fichier EnTete.php qui n’est manifestement pas dans le même répertoire. Il te faut donc débugguer cette ligne.

      bon courage

      Répondre

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s