为什么 PHP 会在我的 HTML 中间放置一个随机数?

我有一个结构如下的网页:


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <?php echo readfile("https://example.com/example/".urldecode($_GET["path"])."/head.html");?>

</head>

<body>

    <header>

        <a href="/"><img src="../../../../../img/header.png" alt="Some alt text..." height="94" width="334"></a>

        <p><a href="/contents/">Contents</a> | <a href="/about/">About</a> | <a href="/contact/">Contact</a></p>

    </header>

    <p>Some text...</p>

</body>

</html>

如您所见,我有一个标题、一个标题和标题下方的正文。我的目标是使用一些 PHP 代码来动态加载一些头部信息(例如元标记、文档标题和 CSS 文件),但是这段代码做了一些非常奇怪的事情——无论何时运行,它都会随机插入一个字符串 — "876" — 介于<body>和之间<header>。该字符串以纯文本形式呈现给用户,使整个页面看起来不对。


我的代码有什么问题可能导致这种情况发生吗?据我所知,PHP 代码甚至不应该访问文档正文,但这个随机字符串仅在 PHP 代码位于该部分时出现<head>。


(我想值得注意的是 PHP 代码确实有效——它很好地加载了头部数据,并且一切都完美呈现……除了左上角那个愚蠢的“876”。


喵喔喔
浏览 112回答 1
1回答

桃花长相依

该readfile()函数输出文件的内容并返回字节数。所以echo readfile("...")输出URL的内容,然后回显字节数。876是 URL 内容的大小。echo使用 时不需要readfile(),因为它会自己打印。如果您使用的是file_get_contents().
打开App,查看更多内容
随时随地看视频慕课网APP