包含来自包含文件的文件。引用问题

时间:2011-10-01 06:03:03

标签: php

这是一个示例文件结构:

page.php
db.php
folder1 / subpage.php
folder2 / fn.php

page.php文件

require_once('folder2/fn.php');

的folder1 / subpage.php

require_once('../folder2/fn.php');

folder2 / fn.php - 需要数据库连接

require_once('../db.php');
/* then gets info from database */

基本上,fn.php包含获取/设置信息的数据库函数。它需要db.php,它是数据库连接文件。此代码适用于subpage.php,但不适用于page.php(获取“无法打开流:没有此类文件或目录...”错误)。

有没有办法(使用相对引用),所以它适用于所有文件,无论目录级别如何?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我总是使用包含的绝对路径。有几种方法可以做到这一点,这个命令将返回绝对路径

<?php echo getcwd(); ?> 

But this is what I personally use: 
<? include $_SERVER['DOCUMENT_ROOT'] . "/includes/analytics.php"; ?> 

无论文件在哪里,php都会有绝对路径。