我在php中有关于require_once的问题。
首先是我的文件夹结构:
monsite.dev
类
Database.inc
Users.inc
UsersProfile.inc
芯
网络
tester.php
Database.inc
连接到我的数据库
web/Index.php
tester.php
仅用于测试事物
我使用require_once
将文件链接在一起,除了tester.php
之外,它几乎非常好用,它一直告诉我"无法打开流"。
我在tester.php
尝试了两种不同的方式:
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
起作用时无效?
非常感谢您的帮助。
尼克
答案 0 :(得分:1)
require_once 'classes/Database.inc';
您可以使用此文件,因为文件位于同一目录中。
答案 1 :(得分:0)
那是因为那是不正确的路径。在tester.php
中应该是:
require_once __DIR__ . "/classes/Database.inc";
使用../
可以恢复到某个级别。因此,在您的目录结构中,您说classes/
目录位于monsite.dev
目录旁边。不在里面。
在index.php
中使用时,它位于子目录中,您必须返回一个级别 - 这就是它在那里工作的原因。
答案 2 :(得分:0)
tester.php
& classes
目录位于同一文件夹中,因此不需要../
。试试 -
require_once 'classes/Database.inc';