我一直在PHP中使用相对路径。上次我意识到有类似绝对路径的东西。
但使用它们的最佳方法是什么?
getenv("DOCUMENT_ROOT"); ?
dirname(__FILE__); ?
您如何处理实施?请提出一些想法。
答案 0 :(得分:2)
当我想使用“relative”的文件到我正在编写代码的文件时,我总是使用:
dirname(__FILE__)
这允许我:
例如,要包含一个位于“类”子目录中的文件,我通常会使用:
require dirname(__FILE__) . '/classes/MyClass.php';
请注意,即使您从命令行执行脚本,这也会有效 - 而基于某种DocumentRoot的解决方案在不使用Web服务器时可能无法正常工作。
并且,使用PHP> = 5.3,您还可以使用__DIR__
魔术常量,它与dirname(__FILE__)
具有完全相同的值,但是在编译时进行评估,而不是执行时 - 这对表演来说有点好。
答案 1 :(得分:0)
我一直使用dirname(__FILE__)
,它完全符合我的需要。我在脚本执行开始时将它存储在一个变量中,该变量与我使用的任何全局数据一起携带,然后当我需要或包含新文件时,我可以很容易地将它包含在我的路径中而没有太多问题。
答案 2 :(得分:0)
我一直使用$_SERVER['DOCUMENT_ROT'] or $_SERVER['PHP_SELF']
我不认为,对于每个人我都认为