我在我的一些页面上有几个php包含的例子(通常的内容如页脚标记和标题等)而Id使用绝对的php路径而不是我正在使用的../../相对路径。
我认为这样可行:
<?php include
include(dirname(__FILE__) . "/dir/script_name.php");
?>
__FILE__ ?
函数dirname()从路径中删除文件名,并为我们提供文件所在目录的绝对路径 - 对吗?那么,如果我已经给出完整路径,为什么还要使用函数dirname()呢?
希望有意义
答案 0 :(得分:0)
__FILE__
是php magic variable,它是当前正在执行的文件的完整路径(它出现的位置),dirname()
从中删除文件名,从而为您提供完整路径当前脚本所在的文件夹。
它实际上只是一个黑客,因为另一个魔术变量__DIR__
(当前正在执行的脚本的目录)仅在5.3中添加,因此dirname(__FILE__)
是实现同样事情的最简单方法在早期版本中。
答案 1 :(得分:0)
函数dirname()从路径中删除文件名,并为我们提供文件所在目录的绝对路径 - 对吗?
是的,这是正确的。您可以使用的路径可以是相对路径或完整系统路径。
如果我已经提供了完整的路径,为什么还要使用函数dirname()呢?
如果您对整个文件系统路径进行硬编码,那么您的应用程序将变得不那么便携;您的webroot目录与我的不同。这通常是为什么你会看到像这样生成路径的代码。
我会亲自调查PHP autoloader作为管理课程包含的更灵活的替代方案。
答案 2 :(得分:0)
这完全取决于你想要什么。从最严格的意义上讲,您描述的路径与您正在执行的文件“相对”。对于真正的绝对路径,只需确保文件名以“/”开头。 像这样:
include "/path/to/file/script.php";