gpt4 book ai didi

php - 下载 PDF - 失败 : Network error, PHP-FPM 和 Nginx

转载 作者:行者123 更新时间:2023-12-05 07:45:48 29 4
gpt4 key购买 nike

我有一个非常简单的下载 pdf 的脚本:

$path = __DIR__.'/sample_file.pdf';
$pathinfo = pathinfo($path);
$fsize = filesize($path);
$filename = $pathinfo['basename'];

header('Content-Type: application/pdf');
header("Pragma:public");
header("Content-Disposition:attachment;filename=" . $filename);
header('Content-Length: ' . $fsize);
header("Pragma: no-cache");
@readfile($path);
exit;

这适用于小于 10mb 的文件。但是我得到一个错误并且下载失败的任何东西。已在多个浏览器中尝试并获得类似的结果。在所有情况下,下载都会失败。

Chrome:失败:网络错误

Firefox: [filename].pdf.part 无法保存,因为无法读取源文件。

Opera:中断:网络错误

IE (10): [filename].pdf 无法下载。

我知道文件路径是正确的,否则它无法处理小于 5mb 的文件。

阅读 readfile 上的 php 文档 ( http://php.net/manual/en/function.readfile.php ) 有些人建议禁用 output_buffering(目前在 php.ini 中设置为 4096)在调用 readfile 之前。我还没有尝试过这个,但我不相信这是解决方案。

zlib.output_compression 被禁用。我在日志中没有看到任何错误。我也没有在 Chrome 检查器的网络 Pane 中看到任何错误。

我试过分块下载,但得到了相同的结果。我研究了类似的答案,但似乎都是特定于浏览器的,即在某些浏览器中工作,但在其他浏览器中不工作。

最佳答案

也许你使用暂停或类似的东西,你的目标文件正在锁定。
可能是您的安全软件正在扫描并锁定该文件,暂停下载后该文件可能仍在系统临时文件夹中。

关于php - 下载 PDF - 失败 : Network error, PHP-FPM 和 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301217/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com