PHP包含文件中的var,然后包含在其他文件中

时间:2015-12-14 16:52:37

标签: php include global var

我的博客结构有几个不同的php文件(页眉,页脚,主页等)。我想创建一个名为adv.php的PHP文件,其中包含需要在所有其他PHP文件中检索的var。我想在header.php中仅包含adv.php文件,并确保var仍然可以在footer.php,main.php等中工作。

我尝试过,即使是全球变量,这似乎也不起作用。我怎样才能解决这个问题?同样,我想在header.php中只包含一次adv.php文件,而不是在每个php文件中都包含。

修改

以下是仅包含相关部分的代码的简化版本:

adv.php

<?php $ad300_top_right_index = "RTB"; ?>

的header.php

<?php include_once('adv.php');  ?>

main.php

<?php if  ( $ad300_top_right_index == "RTB" ) { ?>

show code here

<?php } else { ?>

show some other code here

<?php } ?>

关于内容:它是一个Wordpress模板,其结果页面将包含header.php和main.php,header.php包含adv.php。当然,在我尝试在main.php中使用var之前,adv.php已被包含在内。

1 个答案:

答案 0 :(得分:0)

您没有显示任何代码,但是没有理由让一个文件中包含的var在另一个文件中不可见:

a.php只会

<?php
$x = 7;

b.php

<?php
echo $x, "\n";

z.php

<?php
echo "#1 - startup\n";
echo $x, "\n";

echo "#2 - including a\n";
include('a.php');

echo "#3 - included\n";
echo $x, "\n";

echo "#4 - including b\n";
include('b.php');

echo "#5 - included\n";

运行z.php的输出:

#1 - startup
PHP Notice:  Undefined variable: x in /home/marc/z.php on line 3

#2 - including a
#3 - included
7
#4 - including b
7
#5 - included

请注意,7按预期输出。

如果你没有得到你的var,那么除了导致问题的php之外还有其他东西,例如:不了解范围规则。