我有一个结构如下的网页:<!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”。
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
该readfile()
函数输出文件的内容并返回字节数。所以echo readfile("...")
输出URL的内容,然后回显字节数。876
是 URL 内容的大小。
echo
使用 时不需要readfile()
,因为它会自己打印。如果您使用的是file_get_contents()
.
- 1 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消