php中的文件路径要求

php中的文件路径要求,php,relative-path,Php,Relative Path,我继承了一些代码: include('../cfg/db_setup.php'); require('./fpdf/fpdf.php'); 我知道../cfg意味着从当前目录开始,然后上升一级,再下降到cfg目录。./fpdf是什么意思?我从未见过在文件路径中使用单点斜杠,似乎在我们的服务器上的任何位置都找不到fpdf目录,但代码显然在某个地方工作。/-这意味着在当前路径中,/是当前目录/fpdf/应该与include文件位于同一路径上,或者位于php include_路径之外的某个位置。被定

我继承了一些代码:

include('../cfg/db_setup.php');
require('./fpdf/fpdf.php');

我知道../cfg意味着从当前目录开始,然后上升一级,再下降到cfg目录。./fpdf是什么意思?我从未见过在文件路径中使用单点斜杠,似乎在我们的服务器上的任何位置都找不到fpdf目录,但代码显然在某个地方工作。

/
-这意味着在当前路径中,

/是当前目录/fpdf/应该与include文件位于同一路径上,或者位于php include_路径之外的某个位置。

被定义为当前文件夹

因此,如果PHP脚本位于
/path/to/script/
,那么第二条语句将查找
/path/to/script/fpdf/fpdf.PHP

相对路径与当前包含路径不相关

相对路径,例如。或../是相对于当前工作目录的。如果在CGI或命令行上运行脚本,或者脚本被另一个目录中的另一个脚本包含,则工作目录不同

因此,理论上不可能在不知道上下文的情况下确定这些路径指向何处:p

当然,如果PHP<5.3:

include(dirname(__FILE__) . '/../cfg/db_setup.php');
require(dirname(__FILE__) . '/fpdf/fpdf.php');
如果PHP>=5.3:

include(__DIR__ . '/../cfg/db_setup.php');
require(__DIR__ . '/fpdf/fpdf.php');

当前目录。顺便说一句,这对于PHP来说不是一个好的实践。您应该使用include(dirname(FILE)。“./cfg/db_setup.php”)来提供绝对路径,而不是那些与当前目录相关的路径(可能会通过多种方式改变)。我知道这一点,谢谢。就像我说的,这是我继承的代码。在开始处理绝对路径之前,我需要找到所有引用的文件。谢谢。我不习惯处理相对路径。