-1

我正在尝试读取一个小的 html 文件,但是当我回显结果时,我什么也没看到。读取/显示代码为:

    $headerName = "header.html";
    $header = fread($header_fp,filesize($headerName));
    $header_filesize = filesize($headerName);
    echo "<pre>";
    echo ("<br />header: file size = $header_filesize data = $header");
    echo "</pre>";

$header_filesize 打印为 110,这是正确的。

我正在阅读的 header.html 文件是:

<!doctype html> 
<!-- HTML5  -->
<html>
<head>
<meta charset="utf-8">
<title>Webplaces</title>
</head>
<body>

以上是我期望看到的回声。

有谁知道为什么回声不显示文件内容?

谢谢

4

3 回答 3

2

你逃脱了 html-chars 吗?如果您只是回显内容,它将作为普通 html 处理,并且您无法在输出中看到它。

试试这个:

echo htmlspecialchars($header, ENT_QUOTES, 'UTF-8');
于 2013-07-12T07:58:20.957 回答
1

你试过查看源代码吗?HTML 在浏览器中呈现。

也就是说,你为什么要这么做?只需使用readfileor (如果你想运行 PHP) include

于 2013-07-12T07:57:52.360 回答
0

fread()不接受文件名,而不是文件系统指针!

您必须fopen()事先使用:

$header_handle = fopen($header_name, "r");
$header = fread($header_handle, filesize($header_name);
// ...

你的错误是忘记fopen()了文件。

别忘了fclose($header_handle);

于 2013-07-12T08:03:41.667 回答