PHP define值在include文件中丢失
我有一个config.php文件,其中有一行:PHP define值在include文件中丢失,php,variables,Php,Variables,我有一个config.php文件,其中有一行: define(“home\u dir”,“soft06/site\u name”) 在index.php文件中,我有: include_once ("config.php") ... some html code .... include_once (home_dir."/footer.php") 这很有效。 但是,如果我在footer.php中写下这行: echo("home_dir=".home_dir); 我得到: Notice: Us
define(“home\u dir”,“soft06/site\u name”)代码>
在index.php文件中,我有:
include_once ("config.php")
... some html code ....
include_once (home_dir."/footer.php")
这很有效。
但是,如果我在footer.php中写下这行:
echo("home_dir=".home_dir);
我得到:
Notice: Use of undefined constant home_dir - assumed 'home_dir' in <b>D:\xampp\htdocs\footer.php on line 3
home_dir=home_dir
注意:在第3行的D:\xampp\htdocs\footer.php中使用未定义的常量home\u dir-假定为'home\u dir'
home\u dir=home\u dir
但如果我选择像这样包含footer.php:
include\u once(“footer.php”)
而不是include\u once(home\u dir./footer.php”)
它很好用
在我看来,如果在include_once函数中使用常量home_dir,我将丢失include文件中的home_dir值
任何帮助都将不胜感激。那么您呢
include_once (home_dir."/footer.php")
正在尝试通过http:^)包含文件,并且在包含之前已执行该文件。因此,在另一个http请求中运行footer.php,并且没有定义home_dir
您必须使用本地路径进行包含。changeinclude\u once(home\u dir./footer.php”)
ininclude\u once(home\u dir./footer.php”)
或更准确地说,include\u once(home\u dir.dir.footer.php)
。很抱歉,它是include\u once(home\u dir./footer.php)我只是忘了在上面的问题中键入它。我已经在问题中做了更正。你使用的是什么版本的PHP?如果可能,尽量不要使用相对路径。你可以在5.3 +中使用<代码>、第二、第二个常数来确保你的Hoang-dir路径指向正确的位置。让我们不要把它看成是一个路径问题,而是让我们考虑一个简单字符串的定义值。因为问题不在于包含文件(include_once可以完美地工作),而是为什么home_dir的值在包含的文件中丢失了?在我看来,这似乎是正确的答案。谢谢你的帮助。