我包含一个名为includes / db.php的文件,而这个文件又需要connection_details.php
我遇到的问题是我必须使用以下行读取db.php的内容。
$dbSettingsFile = realpath( dirname( __FILE__ ) )."\connection-details.txt";
$lines = file($dbSettingsFile);//file in to an array
但是,如果我已经从一个类似的文件包含db.php文件。 /subfolder/file.php
行
require('../includes/db.php');
但是这总是可以在windows上运行但是我说得对,因为$ dbSettingsFile变量中的反斜杠它在linux中不起作用? 我必须非常具体,因为如果您删除了realpath并运行了file.php,它将无法获取正确的路径。
答案 0 :(得分:1)
您应该始终使用绝对文件名,因为您无法确定搜索相对路径的基本目录。
使用
require( __DIR__ . '/../includes/db.php' );
可以肯定。
斜杠字符'/'将在Windows和Linux中用作目录分隔符。 注意 - 在Windows文件名中,“db.php”和“DB.php”是相同的文件,但不在Linux中。