php中的文件路径需要

时间:2011-03-15 21:18:38

标签: php relative-path

我继承了一些代码:

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

我知道../cfg意味着从当前目录开始,然后向上一级并向下进入cfg目录。 ./fpdf是什么意思?我从来没有在文件路径中看到过单点斜杠,并且似乎无法在我们的服务器上的任何地方找到fpdf目录,但是代码正在工作,显然它就在某处。

4 个答案:

答案 0 :(得分:16)

只是一张纸条。

相对路径不是相对于当前的include_path。

相对路径,例如。或../是相对于当前工作目录。如果在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');

答案 1 :(得分:3)

.被定义为当前文件夹。

因此,如果PHP脚本位于/path/to/script/,则第二个语句将查找/path/to/script/fpdf/fpdf.php

答案 2 :(得分:2)

./是当前目录。 ./fpdf/应该与包含文件在同一路径上,或者在php include_path之外的某个地方。

答案 3 :(得分:0)

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