Php包含一次生成错误

时间:2017-08-31 14:48:27

标签: php

我的文件结构如下:

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';

1 个答案:

答案 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);