我正在使用以下代码,它在本地使用时效果很好,但是它可以用于服务器目的吗?
function WriteToFile(data) {
var currentdate = new Date();
var datetime = "Time: " + currentdate.getDate() + "/" + (currentdate.getMonth()+1) + "/" + currentdate.getFullYear() + " @ " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.OpenTextFile("C:\\logs\\log.txt", 8);
a.WriteLine(datetime);
a.WriteLine(data + "\n");
a.Close();
}
我已经尝试了在Z:驱动器中txt文件路径的所有内容,但没有任何运气。这甚至可能吗?我还授予了对文件夹“Everyone”的访问权限,因此它可以读写,但我仍然无法打开txt文件进行编辑。我记录的是使用IE8。
有什么建议吗?
答案 0 :(得分:1)
您无法使用ActiveX Scripting.FileSystemObject 使用示例中的语法访问服务器上的任何文件。这是因为ActiveX FileSystemObject控件将在客户端执行,因为没有指定远程服务器,因此它只能访问客户端的文件系统。您可以使用语法指定远程服务器,但在IE 9标准模式或IE 10及更高版本中它是not supported,因此不是真的推荐。
相反,要访问服务器的文件系统,您需要使用服务器端语言(如Active Server Pages(ASP))在服务器端创建FileSystemObject。在ASP FileSystemObject中,它将使用Server.CreateObject("Scripting.FileSystemObject")
可以在此处找到使用FileSystemObject和ASP的一些好例子:http://support.microsoft.com/kb/218606和此处:http://www.codeproject.com/Articles/7296/Reading-Files-in-ASP-and-How-to-Search-for-a-parti