【问题标题】:How do I get rid of white spaces at the top of my webpage?如何摆脱网页顶部的空白?
【发布时间】:2013-01-28 17:15:54
【问题描述】:

我正在用 PHP 开发一个网站,但有一件事让我很烦恼。在<!DOCTYPE html> 的网页开始之前有很多空白。 看看我的网页和google主页的源代码截图:

这真的很烦人。我不知道是什么让那些应该在第 1 行的行跳到第 6 行。

我的网页源代码是-

<?php
header('Content-Type: text/html');
require_once 'core.php';
$index=new Index();
$index->run('home', array('file.js', 'script.js', 'main.js'), array('style.css'));
?>
<!DOCTYPE html>
<!-- rest of the DOM here -->

我认为core.php 中一定有一些echo 正在打印一些空白,但事实并非如此。在&lt;!DOCTYPE html&gt; 之前没有echoing。

发生了什么?请帮帮我。

【问题讨论】:

  • header('Content-Type: text/html');你需要这条线做什么?
  • 不管怎样,这对您的页面在浏览器中的呈现方式没有任何影响。你确定这值得你花时间吗?
  • $index-&gt;run() 是做什么的?
  • @lunchmeat317 如果他的框架处理的不仅仅是 html,这可能会导致麻烦。 (text/html 行也会造成麻烦)他将无法输出有效的 xml 文件,而 csv 文件将以空白行开头。

标签: php html web whitespace


【解决方案1】:

请记住,没有“php 脚本”之类的东西。只有文件中嵌入了 PHP 代码块。以下文件将输出 4 个空白行,即使其中绝对没有“echo”/“print”调用:

<?php
    // this is just a useless comment
?>



<?php
    /// and another useless comment, 4 lines later
?>
&lt;?php ?&gt; 括号对之外的

任何文本都被 PHP 引擎视为输出。

【讨论】:

    【解决方案2】:

    core.php(或它包含的任何文件)在最后的?&gt; 之后是否有空行?

    如果是这样,请删除?&gt;。最好让最终的?&gt; 隐含在文件末尾。

    否则,只需开始将代码库一分为二,直到您确定要添加的内容。

    【讨论】:

    【解决方案3】:

    这很可能是由包含的 PHP 文件末尾的空白引起的(假设“core.php”包含许多其他文件)。解决此问题的最简单方法(通常也是最佳实践)是在 PHP 文件末尾省略最后的 ?&gt;。无论如何它是可选的。

    您可以尝试诊断的另一件快速的事情是将您的(不必要的)header() 调用向下移动一行,使其位于 core.php 包含的下方。如果这个脚本导致浏览器输出,你会得到标准的 PHP 'headers sent' 错误,它会告诉你输出从哪里开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 2021-12-18
      • 2018-10-14
      相关资源
      最近更新 更多