如何在不同的文件夹深度PHP中包含相同的相对php?

时间:2013-04-22 12:16:59

标签: php zen-cart

如何在不同的文件夹深度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');
?>

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

您需要设置包含路径

set_include_path(get_include_path() . DIRECTORY_SEPARATOR . '..');