我试图读取一个小的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_filsize打印为110,这是正确的。
我正在读取的header.html文件是:
<!doctype html>
<!-- HTML5 -->
<html>
<head>
<meta charset="utf-8">
<title>Webplaces</title>
</head>
<body>
以上就是我所期待的回声。
有人知道为什么回声没有显示文件内容吗?
感谢
是否转义html字符?如果您只是回显内容,它将作为普通html进行处理,并且您无法在输出中看到它。
试试这个:
echo htmlspecialchars($header, ENT_QUOTES, 'UTF-8');
您尝试过查看源代码吗?HTML在浏览器中呈现。
也就是说,你为什么要这么做?只需使用readfile
或(如果您希望运行PHP)include
。
fread()
不采用文件名,而采用文件系统指针!
你必须先使用fopen()
:
$header_handle = fopen($header_name, "r");
$header = fread($header_handle, filesize($header_name);
// ...
你的错误是忘记了fopen()
文件。
别忘了fclose($header_handle);
!