require_once()链接超出子目录时出错

时间:2013-03-03 21:57:04

标签: php warnings fatal-error include-path

我正在尝试require_once()位于我的根目录下的文件夹中的文件...我需要来自我的root的另一个子文件夹中的文件中的此文件。

    • 包括

      • include_all.php
      • question_history.php

这是我的/ question_history.php:

 <?php require_once("./includes/include_all.php"); ?>

我收到了这些错误:

  

警告:   require_once(./ includes / include_all.php)[function.require-once]:   无法打开流:没有这样的文件或目录   /Applications/XAMPP/xamppfiles/htdocs/AnswerTree2/my/question_history.php   在第3行

     

致命错误:require_once()[function.require]:打开失败   必填'./includes/include_all.php'   (include_path中= ':/应用/ XAMPP / xamppfiles / LIB / PHP:/应用/ XAMPP / xamppfiles / LIB / PHP /梨')   在   /Applications/XAMPP/xamppfiles/htdocs/AnswerTree2/my/question_history.php   在第3行

我对将文件保存在不同的文件夹中有点新意,因为我以前只将所有文件放在根文件夹中。我知道不好的做法。但无论如何希望这是足够的细节。

3 个答案:

答案 0 :(得分:2)

正确的代码是:

<?php require_once("../includes/include_all.php"); ?>

错误来了,因为./要求文件位于同一文件夹中,因此您的代码需要includes文件夹位于my文件夹中。

答案 1 :(得分:1)

./是当前目录。请改为/includes/include_all.php

答案 2 :(得分:1)

同时查看魔术常数,可能会有所帮助。例如,使用__DIR__可能很有用:PHP Magic Constants