2015-04-22 86 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

相關問題