这很奇怪。
我有一个脚本,它通过浏览器将本地 zip 文件发送给用户。到目前为止,该脚本运行良好,没有任何问题。今天我的同事通知我脚本正在发送零长度文件。
一些背景资料:
- 脚本出错前服务器设置未修改
- 测试了不同的浏览器(在 Chrome/Firefox 上相同)
- 以前的 zip 文件(以前运行良好)也是零长度的
- 脚本在服务器上找到文件
- 文件大小(为调试而回显时)正确
- 尝试按照此处的建议调整服务器设置和脚本,但没有成功。
更新:
is_readable()
返回 1- 文件大小可能在 5Mb 和 100Mb 之间变化(不具体)
$zip_file
保存文件路径$zip_name
保存 zip 名称- 文件实际上是零长度(在文本编辑器中打开它不包含单个字节)
error_reporting
isOn
(E_ALL
) 什么都不显示- 没有标题,浏览器会正确显示 zip 'source'
- Safari 说:' 0 字节?无法解码原始数据的第一个有用(?)症状
有问题的片段:
if (file_exists($zip_file)) {
header('Content-type: application/zip');
header('Content-disposition: filename="' . $zip_name . '"');
header("Content-length: " . filesize($zip_file));
readfile($zip_file);
exit();
}
我怎样才能轻松调试呢?
在此先感谢,法布里克