<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function ShowFile(sFilePath){
var oFileSystem = new ActiveXObject("Scripting.FileSystemObject");
frmEditHTML.tarHTMLText.value = oFileSystem.OpenTextFile(sFilePath.value).ReadAll();
}
function SaveAfterEditing(sFilePath){
var oFileSystem = new ActiveXObject("Scripting.FileSystemObject");
var oFile = oFileSystem.CreateTextFile(frmEditHTML.filPath.value,1);
oFile.WriteLine(sFilePath.value);
oFile.Close();
}
</script>
</head>
<body>
<form name="frmEditHTML">
Select the File you want to Edit
<input type=file name="filPath" onchange="ShowFile(this)">
<textarea name="tarHTMLText" cols=60 rows=20></textarea>
<input type="button" value="Save" name="cmdSave" onclick="SaveAfterEditing(this.form['tarHTMLText'])">
</form>
</body>
</html>
我读了这个link和link,但他们无能为力! 我不想使用ActiveX,因为这个功能将仅限于IE。 FireFox中的IE Tab也会导致问题! 如何在不使用ActiveX的情况下在PHP中复制整个函数? 请帮助!
答案 0 :(得分:1)
使用PHP,您无法完全按原样转换此脚本,因为ActiveX是客户端而PHP是服务器端。 Javascript也无法为您执行此操作,因为现代浏览器是沙盒,JavaScript无法访问本地文件系统。
但是,您还有其他选择,具体取决于您希望模仿的行为(和实现方法)。
您可以使用能够完成ActiveX操作的Java Applet。跨浏览器一致工作,但用户必须安装Java Runtime Environment。
您可以混合使用PHP + Javascript(AJAX)。您将文件上传到服务器,然后使用Javascript(通过Ajax的HTTP请求)控制PHP操作。
有一种处理这种情况的简单方法。但是在某个地方需要服务器。