0

如何在不同的文件夹深度 php 中包含相同的相对 php?
出于某种原因,我需要在我的 zencart 网站中添加一个 www/subam/index.php ,并且这个 php 需要添加到 www/includes/application_top.php ,但是如果我需要(../includes/application_top.php),它会出错。怎么做?

<?php 
/* index.php */
require('includes/application_top.php');

/* subam/index.php */
// this will be wrong
require('../includes/application_top.php');
?>
4

2 回答 2

1

总是使用物理完整路径,那么你不会有任何问题:

php 5.3:

require(__DIR__ . '/lib/file.php');

如果您需要从您所在的位置返回,请使用 ../:

require(__DIR__ . '/../lib/file.php');

php 5.2 及更低版本:替换__DIR__dirname(__FILE__)

在你的例子中:

/* index.php */
require(__DIR__ .  '/includes/application_top.php');

/* subam/index.php */
require(__DIR__ .  '/../includes/application_top.php');
于 2013-04-22T12:19:30.590 回答
0

您需要设置包含路径

set_include_path(get_include_path() . DIRECTORY_SEPARATOR . '..');
于 2013-04-22T12:20:08.760 回答