脚本宝典收集整理的这篇文章主要介绍了php – 未正确设置内容长度标头,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
此链接在90%的时间内都能正常工作.有时会传递不正确的内容长度,因此用户显然会截断文件.错误在特定文件上一致地发生,但如果重新上载这些文件,则错误可能不会出现在新实例上,这使我认为这不是文件的问题,而是某个地方的缓存.所以我每次都运行clearstatcache()无济于事.奇怪的是,PHP正在传递正确的文件大小,或者说它是在我传递它插入日志文件的字符串时.
这是相关的代码:
clearstatcache(); return array( 'Content-tyPE: ' . $mimeinfo,'Content-DisposITion: ' . $disposition . '; filename="' . basename($filepath) . '";',// Content-Length is also a good header to send,as it allows the browser to // display a PRogress bar correctly. // There's a trick for determining the file size for files over 2 GB. Nobody // should be using this module with files that large,but… the sprintf() // trickery makes sure the value is correct for files larger than 2GB. See // note at http://PHP.net/filesize 'Content-Length: ' . sprintf('%u',filesize($filepath)),);
来自sprintf(‘%u’,filesize($filepath))的示例输出在一个不起作用的文件上是2682059,当浏览器看到它时,它以某种方式被转换为1740048.
我试过删除sprintf函数无济于事.
我也尝试过根本不包括Content-Length声明,但是无论如何,有人正在附加不正确的值.最后一条证据可能表明其他一些代码覆盖了我在这里设置的内容标题,但它似乎只留下我在上面的代码中更改的任何其他标题来测试该理论.
有什么想法去哪儿看?
以上是脚本宝典为你收集整理的php – 未正确设置内容长度标头全部内容,希望文章能够帮你解决php – 未正确设置内容长度标头所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。