2015-04-22 141 views
0

我有一个关于require_once在php中的问题。警告:require_once(../ core/Config.inc):无法打开流:没有这样的文件或目录

首先这是我的文件夹结构:

  • monsite.dev

      • Database.inc

      • Users.inc

      • UsersProfile.inc

    • 核心

      • Config.inc
    • 网络

      • 的index.php
    • tester.php

Database.inc连接到我的数据库

web/Index.php的主页

tester.php只是用于测试的事情

我用require_once将文件链接在一起,除了tester.php,它一直告诉我“未能打开流”,它几乎非常好用。

我试着在tester.php 2不同的方式:

1 - require_once '../classes/database.inc';(未能打开Database.inc)

2 - require_once 'Users/Nicks/Sites/monsite/classes/database.inc';(未能打开Config.inc)

但是当我使用它从index.php(require_once ../classes/database.inc)它完美地工作。

为什么这不起作用从tester.php而它从index.php作品?

非常感谢您的帮助。

Nic

回答

0

那是因为那是不正确的路径。在tester.php它应该是:

require_once __DIR__ . "/classes/Database.inc"; 

使用../追溯到上升了一个层次。因此,在您的目录结构中,您说classes/目录与monsite.dev目录并排。不在里面。

当在子目录中的index.php中使用时,您必须恢复一个级别 - 这就是为什么它从那里起作用的原因。

1
require_once 'classes/Database.inc'; 

您可以使用它,因为文件位于同一个目录中。

+0

错误的文件名。编辑:所有好:) – Seer

0

tester.php & classes目录在同一文件夹中,所以不需要../。尝试 -

require_once 'classes/Database.inc'; 
+0

错误的文件名。编辑:所有好:) – Seer

相关问题