php包括在pre中编写的页面中的结果

时间:2014-01-15 18:15:52

标签: php include pre

我正在学习php,一直试图制作一个cms,但是当我使用一个include作为标题时,这会导致页面显示为好像是用pre标签写的。我调试或其他任何东西都没有错误。我完全难过了。当我把标题放回而没有包含它时,渲染就好了。

<?php include("..\includes\layouts\header.php"); ?>

这是我正在使用的包含。 我尝试使用完整路径名,在不同的浏览器中尝试并使用:

include($_SERVER["DOCUMENT_ROOT"]

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

检查你是否正在关闭你的php标签,用半冒号等结束你的字符串。我的猜测是你的html被吸进了PHP代码,它变得怪异并且只是转储它。

也许尝试使用其中一个验证器,例如http://phpcodechecker.com(我没有使用过这个验证器,所以我无法评论它的有效性)

编辑:我正在重读你的帖子,我想我明白你要说的是什么 - 你的标题包含你的css的路径,当你把它放在一个单独的php文件中时,css不会干嘛?所以要做的第一件事就是确定php路径或header.php文件中的css路径是否存在问题。查看你的源代码,看看是否包含了头代码 - 如果它随后使用css路径 - 虽然在php文件中包含头文件不会导致css路径改变。

我猜你的路径中没有包含你的标题。 include()来自加载文件的位置。它想要的路径是服务器路径而不是URL。你上面的那个:../includes...意味着你有一个与加载文件处于同一级别的包含文件夹,例如(假设index.php是主文件):

/includes/layouts/header.php
/somedirectory/index.php

../表示 - 下拉一个目录,然后从那里上去。

如果您的路径更像:

/includes/layouts/header.php
/index.php 

然后包括:

include('./includes/layouts/header.php');

如果有效,请告诉我 - 如果它没有尝试解释您的目录结构。