重定向后的nginx php下载文件不工作
要将页面重定向到文件重定向后的nginx php下载文件不工作,php,nginx,downloadfile,Php,Nginx,Downloadfile,要将页面重定向到文件 function downloadFile($url) { ... // save info to database $path = ..; // checking if the file is on the local server if(empty($path) === false) { // download file from local server - it works header("Cont
function downloadFile($url) {
... // save info to database
$path = ..; // checking if the file is on the local server
if(empty($path) === false) {
// download file from local server - it works
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"". basename($path) ."\"");
readfile($path);
exit;
}
// downloading a file from another server - it does not work, $url is 100% good
header("Location: " . $url);
exit;
}
但该文件不会在屏幕上抛出,我只在“网络”选项卡中看到该文件
情商:
并从另一台服务器重定向到页面
...download_file?id=123 // status 302
...file.pdf // status 302
...file.pdf // status 200
最后一页的页眉
HTTP/1.1 200 OK
Date: Wed, 30 Dec 2020 15:45:21 GMT
Server: Apache
Last-Modified: Wed, 30 Dec 2020 16:38:38 GMT
ETag: "1a8f32-5b7af7b443bf7"
Accept-Ranges: bytes
Content-Length: 1740594
Content-Disposition: attachment
Content-Type: application/force-download
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
为什么不在屏幕上显示文件?
为什么它不开始下载?
工具中只有信息(选项卡网络)没有在页面上显示文件,因为您需要更改页面的标题来显示文件,这可能不是nginx的问题,而是PHP的问题(因为我们没有太多代码来分析您所问的这种情况)
无论如何,我鼓励你编辑你的问题,尝试给我们更多的解释和一些代码示例,以便我们分析它并给你一个更简洁的答案。没有在页面上显示文件,因为你需要更改页面标题来显示它,这可能不是nginx的问题,而是PHP的问题(因为我们没有太多的代码来分析您所问的这种情况)
无论如何,我鼓励您编辑您的问题,尝试给我们更多的解释和一些代码示例,以便我们对其进行分析并给您一个更简洁的答案。解决了,正如我所写的,问题只是chrome,冲突的问题 “@PaoloVeronelli-Chrome阻止静态内容加载,如果它是通过HTTP提供的,那么当网站通过HTTPS加载时。它可能看起来像Firefox没有这样做。-Frederik Nielsen 2月14日15:51”
感谢大家的帮助解决了问题,正如我所写的,问题只是chrome,冲突的问题 “@PaoloVeronelli-Chrome阻止静态内容加载,如果它是通过HTTP提供的,那么当网站通过HTTPS加载时。它可能看起来像Firefox没有这样做。-Frederik Nielsen 2月14日15:51”
感谢所有人的帮助如果您直接访问文件的url会发生什么?是否下载?是的,文件正在下载如果您直接访问文件的url会发生什么?是否下载?是的,文件正在下载后编辑,我还可以添加什么?我没有在重定向之前添加任何额外的标题,因为它们似乎不存在对我来说是必要的。因为这是一个重定向,我觉得最后一页的标题是最重要的(我对它没有影响)我尝试用readfile下载此文件,但该文件是在1.1上剪切的GB@dominik什么?pdf文件大小大于1.1GB???是另一个zip文件的示例,pdf max~100MB我想我发现答案是经过编辑的,我还可以添加什么?我没有在重定向之前添加任何其他标题,因为它们对我来说似乎不必要。因为这是一个redirection,在我看来,最后一页的标题是最重要的(我对此没有影响)。我尝试使用readfile下载此文件,但该文件是在1.1上剪切的GB@dominik什么?pdf文件大小大于1.1GB???是另一个zip文件的例子,pdf max~100MB我想我找到了答案
HTTP/1.1 200 OK
Date: Wed, 30 Dec 2020 15:45:21 GMT
Server: Apache
Last-Modified: Wed, 30 Dec 2020 16:38:38 GMT
ETag: "1a8f32-5b7af7b443bf7"
Accept-Ranges: bytes
Content-Length: 1740594
Content-Disposition: attachment
Content-Type: application/force-download
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
$url = str_replace('http://', 'https://', $url);
header("Location: " . $url);
exit;