我正在尝试使用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
答案 0 :(得分:0)
您应该检查服务器日志和log_level。如果读取文件出错,则file_get_contents返回false。我已经对其进行了测试,echo(false)
返回了一个空字符串。在这种情况下,响应主体将为空(内容长度为0)。
file_get_content失败的原因可能是路径错误,或者文件内容不能解释为字符串。 File_get_contents尝试从文件中创建一个字符串。可能是,这不适用于woff文件。但是,我对此并不保证。您应该检查日志(E_WARNING日志级别)。