PHP包含-无法打开流:没有这样的文件

PHP包含-无法打开流:没有这样的文件,php,include,Php,Include,我用HTML写了一个网站,但是我想把标题和导航栏部分放在一个文件中,所以我只需要修改一次。我将所有页面都更改为.php并添加了php包含。然而,现在我在我放在文件夹中的页面上出现了一个错误,这样我就可以创建粗糙的链接 头文件:/test/assets/Header.php 作品:/test/index.php包含 抛出错误:/test/company/index.php包含 错误: Warning: include(/test/assets/header.php) [function.inclu

我用HTML写了一个网站,但是我想把标题和导航栏部分放在一个文件中,所以我只需要修改一次。我将所有页面都更改为.php并添加了php包含。然而,现在我在我放在文件夹中的页面上出现了一个错误,这样我就可以创建粗糙的链接

头文件:
/test/assets/Header.php

作品:
/test/index.php
包含

抛出错误:
/test/company/index.php
包含

错误:

Warning: include(/test/assets/header.php) [function.include]: failed to open stream: No such file or directory

Warning: include() [function.include]: Failed opening '/test/assets/header.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear')

链接到根文件夹中某个文件夹中的头文件时出现问题。我相信这是一个简单的问题,就是不知道如何输入URL。如果我试图包含header.php的完整路径,我会得到一个
URL文件访问被禁用
错误

它不是一个URL;它是一个文件路径(尽管在服务器配置允许的情况下,您可以使用完整URL)。

如果您以
/
开头一个路径,那么它就是一个绝对路径。绝对主目录指向实际的文件系统根目录,而不是虚拟目录。这就是它失败的原因

通常,这是指:

include "$_SERVER[DOCUMENT_ROOT]/test/assets/header.php";
// Note: array key quotes only absent in double quotes context

我也面临同样的警告:

Warning: include(/test/assets/header.php) [function.include]: failed to open stream: No such file or directory
Warning: include() [function.include]: Failed opening '/test/assets/header.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear')
我用以下方法解决了这些问题:

您必须定义路径,然后使用包含函数,如下所示:

define('DOC_ROOT_PATH', $_SERVER['DOCUMENT_ROOT'].'/');
require DOC_ROOT_PATH . "../includes/pagedresults.php";

之后,您可以使用任何目录结构。

注意:使用未定义的常量DOC\u ROOT\u PATH-假定为“DOC\u ROOT\u PATH”
使用
DOC\u ROOT\u PATH
而不是
'DOC\u ROOT\u PATH'
这里有一个常见错误的故障排除清单:经常会遇到此错误,要快速排除它,按照以下步骤操作:可能重复此常见错误的故障排除清单如下:此常见错误的故障排除清单如下: