不能包含我的文件

时间:2012-02-19 14:26:15

标签: php include

我尝试包含我的文件,但出于某种原因我不能......

这是我的结构:
enter image description here

index.php上,有一个include_once('includes/php/inc.php');inc.php包含以下行:

// Required classes 
require_once '../classes/cl_calendar.php';

我认为完全合法,但出于某种原因,我得到的只是这个错误:

Warning: require_once(../classes/cl_calendar.php): failed to open stream: No such file or directory in /customers/xxx/xxx/httpd.www/new/extra/php/inc.php on line 14 Fatal error: require_once(): Failed opening required '../classes/cl_calendar.php' (include_path='.:/usr/share/php') in /customers/xxx/xxx/httpd.www/new/extra/php/inc.php on line 14

是什么导致显示此错误,如何摆脱它?

3 个答案:

答案 0 :(得分:1)

当您从另一个文件中包含一个php文件时,就像获取该文件的内容并将其放在您的初始(index.php)文件中一样。因此,当您要求inc.php文件中的更多文件时,它基于初始文件的路径。尝试在index.php文件中设置基本路径,并在inc.php文件中使用该路径。尝试

// index.php
$base = "/var/www/htdocs/";  
// or something like dirname(__FILE__) if it may change
include_once($base.'includes/php/inc.php');

// inc.php
require_once($base.'classes/cl_calendar.php');

答案 1 :(得分:1)

正确的路径包括/ classes / file.php。为什么 ..?这会使你超过根目录。

原因在于,即使两个包含文件的相对关系可能不同,您也可以从索引文件中包含它,因此路径必须相对于索引文件。

答案 2 :(得分:0)

只需将此页面cl_calendar.php拖放到index.php页面,这将显示为href链接,然后只需复制完整的href路径并将其粘贴到include中。

或试试这个

require_once(/../classes/cl_calendar.php);