PHP头文件在Internet Explorer 11上强制下载赢得';不要跳过弹出窗口
我有这些PHP标题,可以强制下载(内部网站),在Chrome上运行,而不提示弹出窗口,但我无法避免在Windows 10上的Internet Explorer 11(版本11.657.18362.0)中出现弹出警告 我已经尝试在IE“intranet”站点和“internet”站点中添加运行此操作的内部服务器地址(),将安全级别降低到“intranet”和“internet”下此区域的最低设置。关闭并打开Internet Explorer,它仍然会弹出警告 下面是我的PHP代码:PHP头文件在Internet Explorer 11上强制下载赢得';不要跳过弹出窗口,php,windows-10,internet-explorer-11,Php,Windows 10,Internet Explorer 11,我有这些PHP标题,可以强制下载(内部网站),在Chrome上运行,而不提示弹出窗口,但我无法避免在Windows 10上的Internet Explorer 11(版本11.657.18362.0)中出现弹出警告 我已经尝试在IE“intranet”站点和“internet”站点中添加运行此操作的内部服务器地址(),将安全级别降低到“intranet”和“internet”下此区域的最低设置。关闭并打开Internet Explorer,它仍然会弹出警告 下面是我的PHP代码: if ($_R
if ($_REQUEST['c']){
$num = $_REQUEST['c'];
$cmd = "test.exe $num";
$ctype ="application/octet-stream";
ob_end_clean();
header('Content-Description: File Transfer');
header('Content-Type:' . $ctype);
header('Content-Disposition: attachment; filename="test.bat"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: public');
header('Content-Length: ' . strlen($cmd));
echo($cmd);
exit;
}
此外,下载bat文件后,用户计算机上会有一个单独的AutoIt脚本,该脚本将扫描下载文件夹中的该特定文件,并将自动运行该文件并将其删除,而用户无需执行任何操作。这样做的目的是将用户的点击次数限制为一次
这是当我点击下载下面的bat文件时,从IE获得的弹出窗口:
有什么不对的地方或其他建议吗?我可以重现这个问题,但出于安全原因,IE浏览器在下载bat文件时似乎会一直显示此提示,我们无法禁用它 作为一种解决方法,我建议您可以将bat文件转换为ZIP文件,然后下载它。以下是一些有关如何使用JavaScript压缩文件的相关线程,您可以查看它们:
$ctype是否发生变化?根据你的代码,那部分应该是硬编码的。我想知道你是否需要在\“test.bat\”@Mech当前没有$ctype没有改变,但是我们以后可能会这样做,所以现在把它作为一个变量。我将尝试将反斜杠添加到文件名中。@Mech添加黑色斜杠不起作用,很不幸,这可能是一个指导?