我正在创建一个简单的代理下载器,它只是通过服务器传递文件流。它似乎适用于大多数文件,但exe似乎有一个问题,因为“发布者”是一些如何剥离。
$url = "http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe"
$bname = basename($url);
$ext = pathinfo($url, PATHINFO_EXTENSION);
header('Content-type: application/'.$ext);
header('Content-Disposition: attachment; filename="'.$bname.'"');
fpassthru(fopen($url, 'rb'));
我尝试过为exes使用不同的标题信息:
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
这没有什么区别。在这两种情况下,都会下载exe文件,并且可以运行它,但是Windows 8会抱怨它有一个“未知”的发布者。直接下载exe时不会发生这种情况。看起来我只是在那里,但有些东西略有偏差。 exe被修改的步骤(读数或输出)是什么?我该怎么做呢?谢谢!