无法回显使用fread读取的文件

时间:2013-07-12 07:54:11

标签: php

我正在尝试阅读一个小的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>

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

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

由于

3 个答案:

答案 0 :(得分:2)

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

试试这个:

echo htmlspecialchars($header, ENT_QUOTES, 'UTF-8');

答案 1 :(得分:1)

你试过View Source吗? HTML在浏览器中呈现。

那说,你为什么这样做呢?只需使用readfile或(如果您希望运行PHP)include

答案 2 :(得分:0)

fread()没有文件名,而是文件系统指针!

您必须先使用fopen()

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

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

别忘了fclose($header_handle);