Php 在Windows和Linux上获取绝对URL路径

Php 在Windows和Linux上获取绝对URL路径,php,linux,windows,Php,Linux,Windows,我包括一个名为includes/db.php的文件,该文件反过来需要连接\u details.php 我遇到的问题是,我必须用下面这一行来阅读db.php的内容 $dbSettingsFile = realpath( dirname( __FILE__ ) )."\connection-details.txt"; $lines = file($dbSettingsFile);//file in to an array 但是如果我已经从一个类似的文件中包含了db.php文件。 /子文件夹/fil

我包括一个名为includes/db.php的文件,该文件反过来需要连接\u details.php

我遇到的问题是,我必须用下面这一行来阅读db.php的内容

$dbSettingsFile = realpath( dirname( __FILE__ ) )."\connection-details.txt";
$lines = file($dbSettingsFile);//file in to an array
但是如果我已经从一个类似的文件中包含了db.php文件。 /子文件夹/file.php

排队

require('../includes/db.php');
但是这在windows上总是有效的,但是我说的对吗,因为$dbSettingsFile变量中的反斜杠,它在linux中不起作用?
我必须非常具体地这样做,因为如果您删除realpath并运行file.php,它将不会选择正确的路径。

您应该始终使用绝对文件名,因为您无法确定搜索相对路径将从哪里开始的基目录

使用

require(_DIR__.'/../includes/db.php')

当然

斜杠字符“/”将在Windows和Linux中用作目录分隔符。
小心-在Windows中,文件名“db.php”和“db.php”是同一个文件,但在Linux中不是。

如果有疑问,请使用
php\u EOL
常量(或仅使用普通斜杠
/
)。Windows将同时接受。
PHP EOL
?你是说目录分隔符吗?