2014-01-15 75 views
0

系统: 我使用Windows 7并运行XAMPP控制面板v3.2.1。包含具有相对路径的文件,PHP

我有这个文件结构

ROOT/test/test.php 
ROOT/app.php 
ROOT/config.php 

在test.php的我有这样的app.php:

require '../app.php'; 
在app.php

我有这样的config.php文件: require_once'config.php';

在那里,我定义一个变量:

$config['test'] = 'test'; 

这个变量我app.php使用这样的:

$test = $config['test']; 

当我现在运行test.php的,PHP告诉我说:

Notice: Undefined variable: config in ROOT\app.php 

我在做什么错?

+1

如果你在函数中使用,那么你应该使用'global $ config'; –

+0

@kumar_v不建议使用'global'! – voodoo417

+0

您必须以正确的顺序包含这些文件。在app.php之前加入config.php。 – smiggle

回答

1

我认为include/include_once和require/require_once有区别。但是如果你想从同一个目录中包含它,你可以尝试使用这个例子:

require_once(__DIR__ . '/config.php'); 
+0

要求和包含之间没有真正的区别,除了它们抛出错误的不同错误。但我通常在我的代码中使用这个例子。 –

+0

为什么人们仍然用这些多余的括号修饰'require_once'等等? –

相关问题