2011-06-14 130 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()