Php 从包含的文件中包含一个文件。参考问题

Php 从包含的文件中包含一个文件。参考问题,php,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 */ 基本

下面是一个示例文件结构:

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中不工作(出现“未能打开流:在…中没有这样的文件或目录”错误)

是否有一种方法(使用相对引用)可以在所有文件中工作,而不管目录级别如何


谢谢你的帮助

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

<?php echo getcwd(); ?> 

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

但这是我个人使用的:

无论文件位于何处,php都将具有绝对路径。

您在page.php中包含的哪个文件很重要。。为了更好地理解,你应该把page.php的代码放在上面。Rukmi:想象一下,这就是全部代码。。。page.php中不包含其他文件。其他方法是使用dirname(_uuu文件uuu)获取当前脚本的绝对路径,该脚本执行includewhat关于在公共目录之外添加文件?您不能使用www.example.com/./db.php,是吗?路径不必是绝对路径/hompages/public\u html/include/db.php或相对路径include/db.php。如果您在自己的服务器之外包含来自其他服务器的文件,则可以使用url。这是使用cURL完成的。如果你想在你的网站根目录之外包含一个文件,你可以使用下面的homepages/dir_name/db.php,你可以硬编码文档根目录,也可以动态地使用这段代码,希望能回答你的问题。在所有页面上使用include或require也是一个很好的做法。有些人会说index.php包含在products.php中,然后products.php包含在db.php中,如果您同时使用这两种产品。php和db.php包含在index.php中这两种产品可能会起到相反的作用,但当涉及到调试时,它会使您的生活变得更加轻松。祝你好运,汉克斯亚当。我一到家就去试试。我个人不喜欢在包含的文件中包含文件,但在本例中,php给了我一个错误,因为我试图在包含的文件中使用mysql_query()(即使它在函数中,并且没有从包含的文件中调用)。不管怎样,我将它们都包含在index.php和fn.php中。