Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP页面中的随机空白(客户端接收到的页面,但不是客户端接收到的源代码),但仅当我使用include()时_Php_Php Include - Fatal编程技术网

PHP页面中的随机空白(客户端接收到的页面,但不是客户端接收到的源代码),但仅当我使用include()时

PHP页面中的随机空白(客户端接收到的页面,但不是客户端接收到的源代码),但仅当我使用include()时,php,php-include,Php,Php Include,好吧,我遇到了历史上最奇怪的问题。我正在制作一个在HTML中运行完美的网站,但在PHP中呈现时却有一些非常奇怪的行为——尽管有完全相同的客户机源代码(我逐字逐句地浏览) 起初,我认为我在包含的'functions.php'文件中弄乱了一些东西,但我没有得到任何错误,当我复制并粘贴该文件的内容到包含的位置('functions.php');事实上,问题消失了 下面是我的代码(删除了一些HTML,这是所有的PHP): 远离的 函数GetNav和GetNews从数据库中获取信息,所以我不打算显示它

好吧,我遇到了历史上最奇怪的问题。我正在制作一个在HTML中运行完美的网站,但在PHP中呈现时却有一些非常奇怪的行为——尽管有完全相同的客户机源代码(我逐字逐句地浏览)

起初,我认为我在包含的'functions.php'文件中弄乱了一些东西,但我没有得到任何错误,当我复制并粘贴该文件的内容到包含的位置('functions.php');事实上,问题消失了

下面是我的代码(删除了一些HTML,这是所有的PHP):


远离的
函数GetNav和GetNews从数据库中获取信息,所以我不打算显示它们的代码,另外,正如我前面提到的,如果我不包含文件,而是将其内容复制到我进行include调用的地方,那么大部分空白就会消失(还有一些地方是'echo$footer'调用)

基本上,当你看源代码时,一切看起来都很好。当你点击F12查看开发工具时,元素选项卡会在标记后立即显示一大堆额外的空白(用双引号括起来)(这会影响网站的外观),这让事情变得不可思议以及页脚和内容div之间(这同样会影响网站的外观)

同样在该视图中,来自的所有标记都位于第一组空白下方,并且标记为空(例如:

源代码看起来很好(如果我将源代码复制并粘贴到HTML文件中,它就会完美无瑕地工作),我必须承认这让我毛骨悚然

请帮帮我,欧比-万·克诺比,你是我唯一的希望(是的,我喜欢《星球大战》,尽管我希望他们能拍三部以上的电影)

顺便说一句,这可能是非常明显的,但我是一名.Net开发人员,在业余时间为家庭成员做这件事(学习新语言也很有趣,即使是那些过于喜欢美元符号的语言),所以如果我是世界上最大的新手,请提前道歉


编辑:我在开发工具中看到的是:

<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
"



      "
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>Removed</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
    <link type="text/css" rel="stylesheet" href="css/jquery-ui-custom.css" />
    <link type="text/css" rel="stylesheet" href="css/main.css" />

"
"
远离的
等等

EDIT2:我想说清楚,我不在乎开发工具显示了什么,只是我得到了空白,显示了那些引用在实际网站上的位置,除了一切都很完美


EDIT3:此外,不能使用元素选择器单击空白,在元素选项卡中选择空白不会突出显示网站上的任何内容。但是,在元素选项卡中删除空白会修复网站(直到它被重新加载),但显然对我的问题没有帮助。

尝试删除functions.php文件中的?>,代码后没有空行。functions.php是否与主文件位于同一目录中


还有一个提示,包括footer.php而不是file_get_content:-)

我无法以一种让我满意的方式解决这个问题,但下面是我实现的解决方法:

我完全删除了头中的include,并将functions.php分解为每个函数的一个文件,只在需要调用的地方包含它们


这缓解了我的问题,尽管这并不理想。很高兴我不必每天使用PHP:)。

我也有同样的问题,在控制台上,html的源代码看起来像:

通过检查编码,一些文件使用utf-8和bom编码,一些文件使用big5编码。通过将这些文件保存到utf-8(无bom),我解决了这个问题

我使用了Sublime Text 2和包管理器中的EncodingHelper来查看当前的文件编码


希望有帮助。

您能提供一个您认为“错误”的示例吗?从课文中有点难理解。你是如何检查源代码的?AFAIK Firefox在“查看源代码”中显示整理过的HTML,因此这可能不是您从服务器上收到的内容。如果包含
function.php
会有所不同,那么您也应该显示此文件。我在开发工具中看到的是:“”(但引号之间有几行分隔符),而head部分的meta、title、script和link标记则显示在body标记中。我用View source检查的源代码(在IE10、FF和Chrome中,每次都有相同的结果)@Hank我用开发工具(Chrome中的元素选项卡)更新了OP。@fab function.php中的函数实际上工作得很好(例如:GetNav和GetNews都输出完美的html,并且这些部分显示正确)。其他方面也会出现问题,但只有当functions.php是一个单独的文件时才会出现。感谢您的反馈,但这并没有帮助。是的,functions.php在同一个目录中-它已成功加载,所有代码都正确执行。正如我提到的,在index.php文件中使用完全相同的代码可以缓解问题。另外,为什么要使用include而不是file\u获取纯html文件的内容呢?嗯,很抱歉,我帮不了你。我在谷歌上搜索了文件获取内容和包含内容,文件获取内容更快,我的糟糕!但我学到了一些东西!:)我将再次检查编码,但我一直在使用Notepad++并且编码已经设置为utf-8(没有BOM)(这是我实际检查的第一件事情之一)。我有点希望np++没有覆盖以前的一些编码,并且更改它可以完美地修复一切:)。只需使用require_一次,而不是include
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
"



      "
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>Removed</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
    <link type="text/css" rel="stylesheet" href="css/jquery-ui-custom.css" />
    <link type="text/css" rel="stylesheet" href="css/main.css" />