这是一个示例文件结构:
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(获取“无法打开流:没有此类文件或目录...”错误)。
有没有办法(使用相对引用),所以它适用于所有文件,无论目录级别如何?
感谢您的帮助!
答案 0 :(得分:1)
我总是使用包含的绝对路径。有几种方法可以做到这一点,这个命令将返回绝对路径
<?php echo getcwd(); ?>
But this is what I personally use:
<? include $_SERVER['DOCUMENT_ROOT'] . "/includes/analytics.php"; ?>
无论文件在哪里,php都会有绝对路径。