Maison >développement back-end >tutoriel php >Comment inclure correctement des fichiers à l'aide de chemins relatifs en PHP ?
PHP inclut le chemin relatif : résolution des erreurs d'inclusion de fichiers
Vous disposez de deux fichiers, test.php et connect.php, situés dans le répertoire / répertoire racine/mise à jour/. connect.php tente d'inclure config.php à partir du répertoire /root/ en utilisant la ligne include "../config.php". Cependant, cela entraîne des erreurs liées aux fichiers manquants.
Comprendre le problème
Le problème survient car le chemin d'inclusion défini dans test.php (set_include_path(".: /root");) inclut le répertoire courant (.), mais pas le répertoire parent (le répertoire /root/update/). Cela signifie que lorsque connect.php essaie d'inclure config.php avec le chemin relatif ../config.php, il le recherche dans le répertoire racine (/root/), où il n'existe pas.
Résoudre le problème
Pour résoudre ce problème, vous disposez de plusieurs options :
Vous pouvez inclure le fichier en utilisant la constante __DIR__, qui représente le chemin absolu vers le répertoire du fichier actuel. De cette façon, vous pouvez accéder au fichier de configuration sans avoir besoin de spécifier le chemin relatif :
include(dirname(__DIR__).'/config.php');
Vous peut définir une constante de chemin racine pour spécifier le répertoire racine des inclusions de fichiers. Cela vous permet d'utiliser un chemin relatif à partir de ce répertoire racine sans spécifier le chemin complet :
define('ROOT_PATH', dirname(__DIR__) . '/'); include(ROOT_PATH.'config.php');
Pendant que vous avez mentionné que l'utilisation de chemins absolus n'est pas une option. Si possible, vous pouvez utiliser des chemins absolus pour inclure le fichier. directement :
include('/root/config.php');
Conclusion
En utilisant __DIR__, en définissant un chemin racine ou en utilisant des chemins absolus, vous pouvez résoudre le problème de l'inclusion de fichiers lors de l'utilisation de chemins relatifs dans vos scripts PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!