我的博客结构有几个不同的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已被包含在内。
答案 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之外还有其他东西,例如:不了解范围规则。