php include_once路径

时间:2012-01-31 20:38:55

标签: php file path include

我正在尝试找到一种方法使include_once();路径从开始目录开始,然后找到路径,例如而不是../../../path/to/file我会/path/to/file。如果我这样做/path/to/file它没有说这样的文件或目录,这是我的直接代码

<?php
include_once("/assets/page_assets.php");
?>

4 个答案:

答案 0 :(得分:12)

如果您有Apache服务器

<?php
include_once($_SERVER['DOCUMENT_ROOT'] . "/assets/page_assets.php");
?>

"/assets/page_assets.php"表示from the root of the disk,而不是服务器的根文件夹。如果您正在讨论其他beginning directory,那么将物理路径(服务器的文件系统中的路径,而不是Web路径)定义为单独的常量/变量,并将其添加到包含的路径中,如上所示。

答案 1 :(得分:2)

您可以明确指定包含路径:

<?php ini_set('include_path',ini_get('include_path').':../../../:');  ?>

但正如Cheery在评论中提到的那样,你必须包含你的文件,而不是带领斜杠:

<?php
include_once("assets/page_assets.php");
?>

答案 2 :(得分:1)

要执行此操作,您必须使用根目录中的路径。在某些情况下,这可能看起来像/var/www/mysite.com/assets/page_assets.php。找到该路径的一种方法是使用__FILE__(前面和后面都有2个下划线)。如果您从文件中回显它,它将显示完整路径。您应该可以使用它来设置正确的完整路径。

答案 3 :(得分:0)

使用chdir($_SERVER['DOCUMENT_ROOT']);

启动您的脚本

现在您可以致电include("path/to/file.php");,它将从webroot开始查看。