Php ActiveX.exe文件下载
我正在为我的一个项目开发Web安装程序,需要能够使用ActiveX下载.exe文件。我不希望有任何对话框提示用户对下载进行操作。用户批准ActiveX后,我希望将文件下载到正确的位置,例如C:\TEST 有什么想法吗 这就是我到目前为止所做的:Php ActiveX.exe文件下载,php,html,activex,download,Php,Html,Activex,Download,我正在为我的一个项目开发Web安装程序,需要能够使用ActiveX下载.exe文件。我不希望有任何对话框提示用户对下载进行操作。用户批准ActiveX后,我希望将文件下载到正确的位置,例如C:\TEST 有什么想法吗 这就是我到目前为止所做的: 试验 正在下载所需文件。。。 函数IEsave(文件名,sData){ var-fso,a; fso=新的ActiveXObject(“Scripting.FileSystemObject”); file=fso.CreateTextFile(文件名,
试验
正在下载所需文件。。。
函数IEsave(文件名,sData){
var-fso,a;
fso=新的ActiveXObject(“Scripting.FileSystemObject”);
file=fso.CreateTextFile(文件名,2,false);
file.write();
file.Close();
返回文件;
}
警报(iSave(“C:\\WebLock.exe”,”);
完成
唯一的问题是,它不会写入文件
以下是实际页面:
由于IE的保护模式功能,即使您自己编写插件,也无法将文件写入任何位置 我也遇到了同样的问题,我的解决方案是将文件写入低完整性位置,并调用shell的SHFileOperation来使用UAC对话框进行复制 但如果可能,您可以尝试将您的站点添加到所有用户的受信任列表中
这里有一个相关的问题:您正在用户IE中的可信站点上执行此操作吗?您正在将exe文件内容写入HTML?o。O@Pekka,在大多数情况下。。对但它会提示用户允许或不允许ActiveX@时间机器,我以为我正在将.exe的内容写入文件。。。我不是吗?正如@Time Machine所说的——使用Ajax获取数据可能更好。另外,您在内容周围缺少引号,我认为您可以使用脚本中的PHP将其写入HTML。PHP是在浏览器获取HTML之前执行的,你知道。我做了这个工作,然后它就停止了。我已经尝试了我能想到的一切。我已经在IE8,IE9和Opera中测试过了,你是什么意思?您是否编写了自己的ActiveX或已将站点添加到受信任列表中?
<?php
$filename = "WebLock.exe";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
<html>
<head>
<title>Test</title>
</head>
<body>
<center><b>Downloading Required Files...</b></center>
<script>
function IEsave(filename, sData) {
var fso, a;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.CreateTextFile(filename, 2, false);
file.write(<?php echo $contents ?>);
file.Close();
return file;
}
alert(IEsave("C:\\WebLock.exe", ""));
</script>
Complete!
</body>
</html>