gpt4 book ai didi

php - 如何使用php下载文件?

转载 作者:行者123 更新时间:2023-12-01 13:31:02 26 4
gpt4 key购买 nike

我想使用 php 从我的服务器下载文件。我搜索了谷歌并找到了一个 stackoverflow 答案 here .这个答案表明我必须为此目的编写这些代码。

$file_url = 'http://www.myremoteserver.com/file.exe';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url);

但我仅用这两行就可以做到这一点:

header("content-disposition:attachment; filename=uploads1/EFL1.5_Setup.exe");
readfile("uploads1/EFL1.5_Setup.exe");

那为什么还要像上面的代码那样多写几行呢?

最佳答案

header('Content-Type: application/octet-stream');

内容类型应该是已知的任何内容,如果您知道的话。 application/octet-stream 在 RFC 2046 中被定义为“任意二进制数据”,并且这里有一个明确的重叠,它适用于其唯一目的是保存到磁盘的实体,并且从那时起就在任何东西之外“韦比”。或者从另一个方向看;唯一可以安全地使用 application/octet-stream 做的事情就是将它保存到文件中,并希望其他人知道它的用途。

header("Content-Transfer-Encoding: Binary"); 

Content-Transfer-Encoding 指定用于在 HTTP 协议(protocol)中传输数据的编码,如原始二进制或 base64。 (二进制比 base64 更紧凑。base64 有 33% 的开销)。

引用:

Do I need Content-Type: application/octet-stream for file download?

关于php - 如何使用php下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873729/

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