我正在尝试在PHP中提供WOFF字体文件。
首先,我设置内容类型标头:
header("Content-Type: application/font-woff");
然后我尝试以下操作:
这工作正常(文件已正确提供给用户,并且内容长度标头与文件大小匹配(:
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
您应该检查服务器日志和log_level。 如果读取文件时出错,file_get_contents返回 false。我现在测试了它,echo(false)
返回一个空字符串。在这种情况下,响应正文将为空(内容长度为 0(。
file_get_content失败的原因可能是路径不正确,或者文件内容无法解释为字符串。File_get_contents尝试从文件中创建一个字符串。可能是,这不适用于 woff 文件。但我对此并不嘘寒问暖。您应该检查日志(E_WARNING日志级别(。