我有一些文件需要包含在几个页面中,所以我使用类似
的东西
<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,它会呈现相同的内容,但是如果我删除这些字符,则空格就会消失。有什么想法吗?
我在这里找到了这个话题
有人说:
我以前遇到过这个问题。确保以 ASCII 而不是二进制格式上传文件。有时,对于某些FTP服务器,您必须手动设置。此外,请尝试在文本编辑器中将换行符转换为"'"。Lemme 知道您使用的是哪个编辑器,我会为您提供更具体的说明。
http://forums.digitalpoint.com/showthread.php?t=957679
有人解决了它:我使用记事本++(http://notepad-plus.sourceforge.net/)解决此问题使用记事本++打开php文件,然后在格式菜单中选择不带BOM的utf-8编码并保存。
希望这有助于
包含的文件末尾是否有任何空格?默认情况下,PHP 不会从 include 指令创建任何空格,除非它后面有空格,例如
无空格:
<?php include('x'); ?>
</div>
将包含一行空格:
<?php include('x'); ?>
</div>
如果包含的文件末尾有空格,则将获得输出。
不完全相同,但相似:
在我的包含文件点,我的 html 中出现了一个神秘的"1"。
这是一个简单而愚蠢的错误,我使用一个简短的标签来包含以下内容:
<?=include('social-media-box.php')?>
而不是正确:
<?php include('social-media-box.php'); ?>
无论出于何种原因,这都导致了"1"的出现。无论如何,使用完整的php标签摆脱了它。
希望它对某人有所帮助。
我在这里回答了类似的情况:https://stackoverflow.com/a/26658129/292060
问题是使用 BOM 字符的 UTF-8 编码,这导致了空格。
它的html行为,因为你把包含放在div标签下,试着把它放在旁边。你的代码将是这样的
...</div><?php include("file.php") ?>
这可能有助于您查找和减少空格。
- 查看源代码,看看是否可以找出哪些包含的文件正在创建空格。
2.让你的div 块带有边框颜色,以便您知道你的div 块占用了多少空间。
- 看看你是否可以拥有没有任何空格或额外行的包含文件的代码。您可以压缩包含的文件
把这个规则放在你的 CSS 的开头,它将禁用页面中元素的默认填充和边距。
*
{
margin: 0;
padding: 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">
并编写您的页面代码...