这工作PHP相对路径如ASP
<?php include("inc/c.php")?>
但是过去的这个文件夹中,这不起作用
<?php include("../inc/c.php")?>
我要做
<?php include("/var/web/public_html/etc/inc/c.php")?>
我知道ASP您可以启用虚拟路径和目录。这与PHP相同吗?
这工作PHP相对路径如ASP
<?php include("inc/c.php")?>
但是过去的这个文件夹中,这不起作用
<?php include("../inc/c.php")?>
我要做
<?php include("/var/web/public_html/etc/inc/c.php")?>
我知道ASP您可以启用虚拟路径和目录。这与PHP相同吗?
如果您包含文件夹中的文件,则所有包含都与包含程序的文件有关。
因此,相同的代码应在文件中的子文件夹的工作:
<?php include("inc/c.php")?>
您可以将目录添加到PHP的include_path
目录。当您指定一个相对文件名时,PHP将查找该文件相对于include_path
中指定的所有目录。请参阅http://php.net/manual/en/function.set-include-path.php#example-488。
使用
dirname(__file__)
这将返回当前目录的路径。
您可以使用realpath(dirname(__FILE__))
的文件包括相对于当前文件:
include(realpath(dirname(__FILE__).'/../inc/c.php'));
但是过去的这个文件夹中,这不起作用
不,它确实工作。
我知道在ASP中可以启用虚拟路径和目录。这与PHP相同吗?
是的。但是整个虚拟路径与你的情况无关。
这不是PHP的问题。这是开发者使用错误路径的问题。
为了让您的代码万无一失,请始终使用绝对路径。建立不是从当前位置,而是从站点根目录的路径。所以,您的网站上的任何网页都将保持不变。
最普遍的方式是
include $_SERVER['DOCUMENT_ROOT']."/etc/inc/c.php";
我居然没下来纪念这个。尽管你总是如此傲慢,但你是正确的,这个错误是代码中的问题 - 路径存在,但其他PHP阻止它。 – TheBlackBenzKid 2012-02-09 14:49:23