我的文件结构如下:
Lib
-Models
b.php
c.php
-Controllers
a.php
在a.php文件中我想包含b.php。我该怎么做呢?我尝试的一切都会产生这种错误:
无法打开流:没有此类文件或目录
我试过了:
include_once '..\Models\b.php';
include_once '\..\Models\b.php';
include_once $_SERVER['DOCUMENT_ROOT'] .'\Models\b.php';
include_once __DIR__ .'\Models\b.php';
&安培;其他一些人
EDIT! 正斜杠也不起作用。我也尝试了以下内容:
include_once '../Models/b.php';
include_once '/../Models/b.php';
include_once $_SERVER['DOCUMENT_ROOT'] .'/Models/b.php';
include_once __DIR__ .'/Models/b.php';
答案 0 :(得分:0)
首先,找出运行include的代码所在的目录:
die(var_dump(__DIR__));
然后,您将知道是否进入或退出您所在的文件夹。
使用realpath($stringPath);
将/var/www/site/something/../data/file.php
等字符串转换为真实路径/var/www/site/data/file.php
同样值得定义一个WEB_ROOT
常数可以使用:
define('WEB_ROOT', $_SERVER['DOCUMENT_ROOT']);
然后你可以说require_once realpath(WEB_ROOT.$filePath);