readfile() 破坏输出文件
readfile() corrupting file over output
我正在使用以下代码访问一个存在的文件
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
它下载正常,但在打开图像查看器时拒绝打开,说明它不是 gif 文件。是
我认为您应该将 Content-Type 更改为 'image/gif'
我发现代码中的其他地方有打印,所以当它强制下载时它已损坏。移除印刷品有效。
我正在使用以下代码访问一个存在的文件
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
它下载正常,但在打开图像查看器时拒绝打开,说明它不是 gif 文件。是
我认为您应该将 Content-Type 更改为 'image/gif'
我发现代码中的其他地方有打印,所以当它强制下载时它已损坏。移除印刷品有效。