require_once():无法打开所需的' ...' (但文件存在)

时间:2014-05-23 12:54:40

标签: php

当我使用require_once时,我收到以下错误:

"PHP Fatal error: require_once(): Failed to opening required '/Application/Rules/required_file.class.php'"

我的目录结构是:

  • 项目
    • 应用
      • 规则
        • required_file
    • 公共
      • 用户
        • 文件

“file”是我使用require_once的地方:

require_once('/Application/Rules/required_file.class.php');

为什么会出错?任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

如果我说对了你,你就是在打电话给

require_once('/Application/Rules/required_file.class.php');
file

?这样做,因为require_once始终与当前文件夹相关,只要您不使用绝对路径。

相反,你需要打电话

require_once('../../Application/Rules/required_file.class.php');

因为您要包含的文件与file不在同一文件夹中。

../返回层次结构中的一个文件夹。

../../因此从/Users返回/Public然后再转到/Project,然后您可以转到/Application


我认为article可以很好地解释 relative 绝对路径之间的区别。

  

relative 路径指向与当前文件所在位置相关的文件或目录。

     

绝对路径是"完整路径"从网络服务器的角度来看。它是包含文档根目录的路径。例如/var/www/mydomain.com /.

答案 1 :(得分:0)

/Application/Rules/...是unix绝对路径

使用相对路径../../Application/Rules/...或适当的绝对路径

/var/www/public_html/Project/Application/Rules/...(unix,示例)

C:/wamp/projects/Project/Application/Rules/...(windows,示例)

答案 2 :(得分:0)

使用DIRECTORY_SEPARATOR适用于windows和unix

define('DS', DIRECTORY_SEPARATOR);
require_once('Application' .DS. 'Rules' .DS. 'required_file.class.php');