2011-06-14 100 views
0

这是一个3部分的问题相对网络路径VS绝对路径

是否有相对路径的任何性能或安全风险?

如何将相对路径转换为绝对路径[用PHP编写的大型项目]?

在使用include时PHP应该给绝对路径还是相对路径?

+0

你是问有关在HTML/CSS/JavaScript或在PHP客户端路径服务器端的呢? – Phil 2011-06-14 04:01:11

+0

它确实取决于脚本的位置。你可以使用'dirname(__ FILE __);'来查找当前文件的绝对路径。亲属路径也一样 – Ibu 2011-06-14 04:14:47

回答

3

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

安全性,这是太宽泛的要求,不直接发挥。如果在系统的其他地方和include_path中可能存在恶意包含脚本,那么我会考虑实际问题,而不是相对路径。

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

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