quel est le but de require_once dirname(__FILE__) ...?
Je suis l'aide d'une librairie php qui a ce code: require_once dirname(__FILE__) . '/config.php';
De ce que j'ai lu, dirname(__FILE__)
pointe vers le répertoire courant.
Donc ne serait-il pas plus facile de l'écrire require_once 'config.php';
?
Mon seul devine ici est que, y compris les dirname(__FILE__)
assure que le require_once
fonction utilise un absolu plutôt que de chemin d'accès relatif.
C'est la raison pour laquelle - il assure un chemin d'accès absolu. D'autres scripts pouvez changer le répertoire de travail avec
Pouvez simplement utiliser
Aparently
chdir()
, qui peut confondre les chemins à inclure. De même, s'il est appelé à partir d'autre chose que HTTP (comme de la CLI ou de cron, par exemple), les chemins à inclure peut être différent, ou le répertoire de travail peuvent être différentes.Pouvez simplement utiliser
__DIR__
à la place...Aparently
__DIR__
est disponible à partir de php 5.3 et plus. Sources:1, 2OriginalL'auteur Leo Galleguillos | 2014-01-15
Vous devez vous connecter pour publier un commentaire.
Oui, vous avez raison -
dirname(__FILE__)
assure que le require_once fonction utilise un absolu plutôt que de chemin d'accès relatif.La
__FILE__
constante représente le script en cours. Il sera de retour le chemin d'accès complet et nom de fichier du script en cours.Par exemple, si un script appelé
database.init.php
qui est inclus à partir de n'importe où sur le système de fichiers veut inclure le scriptdatabase.class.php
, qui se trouve dans le même répertoire, vous pouvez utiliser:OriginalL'auteur mate64
un exemple:
si votre fichier est inclus quelque part, alors, par défaut, il va commencer la recherche à partir du chemin d'accès du fichier qui inclus la vôtre. dans ce cas, le besoin ne fonctionne pas pour les fichiers qui sont à côté de votre fichier
OriginalL'auteur Peter Bankuti