2010-04-30 112 views
1

我收到额外的空白,这不是CSS,或在视图输出上没有像它:HTML。额外的空白,在HTML输出,在PHP MVC

我检查了?>(删除,我可以),保存UTF8没有BOM。在每个文件的开始处检查存在的空白区域,即使在最后。

这是结构:

index.php - this is the entry point; 
MODEL/ 
CONTROLLER/ 
VIEW/ 

假设,使得槽式GET方法,其发出的无功TPL一些价值。我们称它为LIST,因此它将所有数据拉入LIST模型,然后使用正确的数据向用户显示正确的模板。

我使用并测试了require_once,include_once,include,甚至用readfile进行了测试(只是为了测试)。 LIST模板打开header.tpl和footer.tpl;我也尝试删除这两个包括从列表模板,但仍然,额外的空白空间继续。

这是额外的空白来自哪里。该控制器放置<body> controller activity runs here </body>之间,这就是多余的空白是来自:

$model_works->getRows(); 

$rows = $model_works->rows; 

if (!require_once('views/list_works.tpl.php')) { 

echo "<p>Error.</p>"; 

} // end if clause 

的list_works.tpl.php,与标签basicly HTML;我没有测试通过改变扩展到其他东西,如HTML。

此外,只需要记住,在这个文件的顶部,我们使用require_once来打开header.tpl和底部的footer.tpl。我已经通过删除两个测试,并且仍然生成了额外的空白空间。

正在这里产生多余的空白:

<body> 
# EXTRA WHITE SPACE HERE # 
<!-- some stuff working fine --> 
</body> 

非常感谢看, ; d

回答

0

在你的文件,一个流浪回声的一个额外的断行,保持评论一直到你找到它?

+0

嗨,感谢您的期待! 在list_works.tpl.php上,我删除了所有东西,文件完全空了! 已经没有空白了! 然后,我在list_works.tpl.php里放置了一个虚拟文本,放在最上面:1

Some Text

。 获得额外的空白。 那么,我试着放置一个<?php echo“一些文本”; ?>然后

其他一些文本

一些文字

一些其他文本

没有多余的空白,或至少一些文本被放置在平时多余的空白所在。 这就是我的=)不知道发生了什么。 – punkbit 2010-04-30 11:38:30

+0

嗯,一定是文件中的东西,虽然我不知道是什么。我在我自己的基于MVC的CMS中有空白,但无法看到它们的任何来源。 – 2010-04-30 22:40:18

1

尝试打开您的文件在一个低级别的文本编辑器,如MS-DOS的编辑,你可能会发现一些控制字节删除它,它会没事的。

+0

谢谢@MrBassam!它为我工作。 – Maverick 2012-04-21 14:14:19

1

我有同样的问题,当使用require在文档的其余部分之前在主体的开头处获得了空白区域。我的解决方案非常简单:

<!--Dummy HTML comment<? require something.php ?>--> 

这样空白处在注释中,并且不会显示。问题是任何来自所需文件的返回也都在注释中,所以你可以把这个返回放在所需文件的函数中,然后从本地文件中调用它来最终获取数据并将其放在任何你想要的地方。我的apache服务器在HTML注释中读取PHP代码时没有问题,但我不确定这会在其他任何地方使用。