2013-08-17 169 views
0

我有一个menu.php文件我需要包含在我正在构建的网站的每个页面中。当我自己打开menu.php时,它工作正常。这是当我把它包含在其他文件,如index.php然后没有加载。PHP包括声明问题

以下是我的index.php内容。我的menu.php严格为html,链接.css样式表。我已经搜索过,找不到解决我的问题。有什么建议么?

<html> 
<head> 
    <!-- ... --> 
</head> 
<body> 
    <?php include 'menu.php'; ?> 
</body> 
</html> 

编辑:这是menu.php中的include,而不是header.php。

+0

是所有文件在同一个文件夹中? –

+0

是的,他们是。对不起,忘了提到这一点。 –

+0

剂量索引文件扩展名是'.php'还是'.html'? – 2013-08-17 20:27:29

回答

-1

检查你的路径,包括位置等

例如,如果位于某个文件夹中的文件,包括文件,还包括另一个文件..相对路径总是基于打开了非常原始文件。

我做什么:

include $_SERVER['DOCUMENT_ROOT'].'/menu.php'; // if file is at /public_html/menu.php 

include $_SERVER['DOCUMENT_ROOT'].'/includes/menu.php'; // if file is at /public_html/includes/menu.php 

这样,不管你是从,你打电话绝对路径打开。

+0

并且不要忘记在$ _SERVER ['DOCUMENT_ROOT']之后用斜杠(/)启动文件/文件夹路径,因为该变量停止在没有结尾斜杠(/)的文件夹名称处。 – jeffkee

+1

你真的应该养成使用'__DIR__'而不是DOCUMENT_ROOT的习惯。这将允许您在开发目的的子目录中运行该站点,并且不会使其与服务器配置相关。 –

+0

好建议安德鲁。会做。 –

0

让我试着解释如何目录工作:

ROOTFOLDER--

home.html的

contact.html

PHPFOLDER ---

header.php

CSS -----

stylesheet.css中

如果home.html你有<?php include 'header.php';?>这不会工作,因为头是在PHPFOLDER所以你必须<?php include 'folderphp/header.php';?>