0

我正在尝试在 PHP 中提供 WOFF 字体文件。

首先我设置 Content-Type 标头:

header("Content-Type: application/font-woff");

然后我尝试以下方法:

这很好用(文件已正确提供给用户,并且 Content-Length 标头与文件大小匹配):

readfile("path/to/font.woff");

但这不是(脚本完成没有错误,但我在浏览器中收到“八位字节流”错误,并且 Content-Length 标头为 0):

echo file_get_contents("path/to/font.woff");

为什么我在使用 file_get_contents 时收到错误消息?我正在使用 Windows 10、IIS Express 10 和 PHP 7.2

4

1 回答 1

0

您应该检查您的服务器日志和您的 log_level。如果读取文件时出错,file_get_contents 将返回 false。我现在已经对其进行了测试并echo(false)返回一个空字符串。在这种情况下,响应正文将为空(内容长度为 0)。

file_get_content 失败的原因可能是路径不正确,或者文件内容不能被解释为字符串。File_get_contents 尝试从文件中创建一个字符串。可能是,这不适用于 woff 文件。但我不同意这一点。您应该检查日志(E_WARNING 日志级别)。

于 2018-06-26T18:26:51.510 回答