gpt4 book ai didi

php - header 位置+内容配置

转载 作者:可可西里 更新时间:2023-10-31 23:08:54 24 4
gpt4 key购买 nike

所以我有一个下载页面,您可以在其中单击一个链接,它会打开/downloads/download/randomhash

随机哈希在数据库中找到,我递增下载计数器,然后重定向到实际文件,例如/uploads/2012/file.png。

除了重定向执行我希望它执行的操作外,一切正常。我不确定为什么它不起作用...

  header("Location: " . $row->uri);
header("Content-Disposition: attachment; filename=$row->name");

在文件的第一次加载时,它有适当的内容配置 header (在 Firebug 中),但它不会提示下载文件(它应该,对吧??)。有什么想法吗?

响应头:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public
Connection: Keep-Alive
Content-Disposition: attachment; filename=promotion_photo_2.jpg
Content-Encoding: gzip
Content-Length: 20
Content-Type: text/html; charset=utf-8
Date: Mon, 27 Feb 2012 01:01:22 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=5, max=100
Location: /uploads/2012/mediakitD3CF.jpg
Pragma: no-cache
Server: *
Vary: Accept-Encoding
X-Powered-By: *
X-UA-Compatible: IE=Edge,chrome=1

最佳答案

您正在同一响应中设置 Content-Disposition header ,告诉浏览器重定向到哪里。我的建议是只在响应中流式传输附件,不重定向

header('Content-Disposition: attachment; filename=file-to-be-downloaded.jpg');
header('Content-type: image/jpeg'); // or what is relevant, ie application/octet-stream
$fn=fopen("path-to-file/file-to-be-downloaded.jpg","r");
fpassthru($fn);

关于php - header 位置+内容配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458854/

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