相对Web路径与绝对路径


Relative Web path vs Absolute path

这是一个由三部分组成的问题

相对路径中是否存在性能或安全风险?

如何将相对路径转换为绝对路径(在用PHP编写的大型项目中)?

在PHP中,当使用include时,我应该给出绝对路径还是相对路径?

PHP中有两种相对路径。根据文件系统的相对路径以./../开头,不会影响性能。PHP还专门解释像what/ever.php这样的相对路径,并将include_path考虑在内。由于必须遍历和搜索目录,这通常(可测量地)较慢。

安全,这个问题被问得太宽泛了,并没有直接影响到这一点。如果可能有恶意的include脚本放在系统的其他地方和include_path中,那么我会认为这是实际的问题,而不是相对路径。

你应该在你的项目中使用什么,取决于它是否需要重新定位。最常见的是使用常数ala PROJECT_ROOT来模拟绝对路径。

要将文件系统的相对路径转换为绝对路径,请使用realpath()