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