好的,所以我想在我的WEBROOT/common/header.php
但如果我尝试将其包含在WEBROOT/legal/legal.php
中的文件中,则无效。
我试过以下
include 'common/header.php';
include '/common/header.php';
include './common/header.php';
include '../common/header.php';
include __DIR__ . 'common/header.php';
include 'http://siteurl.com/common/header.php';
文件结构似乎足够基本
index.php
-/common/header.php
-/legal/legal.php
答案 0 :(得分:0)
使用.php
或.ini
创建可存储DocumentRoot
的配置文件。
.php
方法:if (!defined('_BASE_DIR_')) {
define('_BASE_DIR_', '/var/www/html/site');
}
然后在代码中使用此常量,如下所示:
require_once 'constants.php';
require_once _BASE_DIR_.'/legal/legal.php';
.ini
方法:[common]
base_dir=/var/www/html/site
阅读 .ini
文件,如下所示:
$ini = parse_ini_file('config.ini', true);
然后包括如下文件:
require_once $ini['common']['base_dir'].'/legal/legal.php';
请注意,读取常量的require或parse_ini_file
可能与您遇到的路径问题相同。最好的解决方案是使用单个文件加载所有页面,但该讨论不在您的问题范围内。
答案 1 :(得分:0)
最好的解决方案是将__DIR__
常量与require
结合使用,如前所述。请注意,在您的示例中,您仍然缺少目录分隔符:
require __DIR__ . '/../common/header.php';
供参考,见