我的代码:
<?php require_once("include/header.php") ?>
(位于index.php中)
另一个代码(在header.php中)
<?php require_once("../../include/config.php") ?>
此文件链接适用于header.php,但不适用于index.php。我该如何运作? :D
编辑: 我只有文件,我需要使用包含的文件来访问它们,因此我需要使用相对于该header.php的路径有效的文件,而不是与包含它的文件相对应的文件。
答案 0 :(得分:1)
所有使用相对文件的include
/ require
/ require_once
语句都是相对于PHP进程当前工作目录的,这取决于PHP的运行方式。您可以使用getcwd()
函数获取当前的工作目录,并在运行时使用chdir()
对其进行更改。
如果要包括相对于当前文件的文件,而不考虑当前目录,可以执行以下操作:
<?php require_once(realpath(__DIR__) . "/../../include/config.php") ?>
请注意__DIR__
的使用,这是一个魔术常数,始终代表要写入的文件的目录(而不是包含文件)。
答案 1 :(得分:0)
尝试一下
<?php require_once("./include/header.php") ?>