2

我有一些文件需要包含在几个页面中,所以我使用类似

<html>
<head>
<title>This is a webpage</title>
</head>
<body>
<div>Hello, this is a webpage</div>
<?php include("header.html");?>
<div>Some more text.</div>
<?php include("BlockToInclude.php");?>
<div>Even more text.</div>
<?php include("footer.html");?>
</body>
</html>

问题是,每次include();我在包含的内容之前得到一个 20px 的空白空间。我通过将第一个包含块的边距减少 20px 来解决这个问题,但我更喜欢避免这个空间而不是补偿它的东西。另外,我对 PHP 有点陌生,这是正常行为还是我应该寻找我做错了什么?

更新:我检查了生成的代码,在我调用函数的每个地方,insert();它都出现了一个不在原始文件中的陌生字符(也不是调用者或包含的)。我将代码从 Firefox 代码查看器(不可见)复制到我的编辑器(Windows 中的 RJ TextEd),它在框中显示为问号;如果我将此代码保存为静态 html,它会呈现相同的内容,但如果我删除这些字符,那么空白空间就会消失。有什么想法吗?

4

8 回答 8

9

我在这里找到了这个话题

有人说:

我以前遇到过这个问题。确保您以 ASCII 格式而不是二进制格式上传文件。有时,对于某些 FTP 服务器,您必须手动设置。还可以尝试在文本编辑器中将换行符转换为“\n”。让我知道您使用的是哪个编辑器,我会给您更具体的说明。

http://forums.digitalpoint.com/showthread.php?t=957679

有人解决了它:我使用notepad++(http://notepad-plus.sourceforge.net/)解决了这个问题,用notepad++打开php文件,在格式菜单中选择utf-8编码,没有BOM并保存。

希望这有助于

于 2012-08-13T03:26:58.470 回答
1

包含文件的末尾有空格吗?默认情况下,PHP 不会从 include 指令中创建任何空格,除非后面有空格,例如

没有空格:

<?php include('x'); ?>
</div>

将包括一行空格:

<?php include('x'); ?>

</div>

如果包含的文件末尾有空格,则会得到输出。

于 2012-08-13T03:12:59.093 回答
1

不完全相同,但相似:

在我的包含文件的位置,我的 html 中出现了一个神秘的“1”。

这是一个简单而愚蠢的错误,我将包含放在使用短标签中,例如:

<?=include('social-media-box.php')?>

而不是正确地:

<?php include('social-media-box.php'); ?>

无论出于何种原因,这都会导致“1”出现。无论如何,使用完整的 php 标签摆脱了它。

希望它可以帮助某人。

于 2013-01-10T17:20:08.170 回答
1

我在这里回答了类似的情况: https ://stackoverflow.com/a/26658129/292060

问题是带有 BOM 字符的 UTF-8 编码,这导致了空格。

于 2014-10-30T16:15:15.093 回答
0

它的 html 行为,因为你把 include 放在 div 标签下,试着把它放在它旁边。你的代码会是这样的

...</div><?php include("file.php") ?>
于 2012-08-13T03:34:40.273 回答
0

这可能会帮助您找到和减少空白。

  1. 查看源代码,看看您是否可以找出哪些包含的文件正在创建空白。

2.让你的 div 块带有边框颜色,这样你就知道你的 div 块占用了多少空间。

  1. 看看你是否可以让你的包含文件的代码没有任何空格或额外的行。您可以压缩包含的文件
于 2012-08-13T03:37:32.170 回答
0

将此规则放在 CSS 的开头,它将禁用页面中元素的默认填充和边距。

*
{
    margin: 0;
    padding: 0;
}
于 2013-10-11T11:22:48.337 回答
0

放在前面<!DOCTYPE...

像这样的代码:

<?php include "config.php"; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

并编写您的页面代码...

于 2015-11-09T21:06:10.610 回答