有没有ASP高手?问一个ASP读取文本文件的问题(UP有分)(100分)

  • 主题发起人 主题发起人 helloqiner
  • 开始时间 开始时间
H

helloqiner

Unregistered / Unconfirmed
GUEST, unregistred user!
写了一段很简单的读取文本文件的代码,发现在有的机器上用IIS发布后用浏览器打开很快就出现结果,但是在有的机器上用IIS分布后用浏览器却打不开。
一行行的注释发现问题出在OpenTextFile上面,这是怎么回事呢?难道有的机器IIS对打开文件做限制?
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
logFileName=Server.MapPath("aaa.txt")
If fs.FileExists(logFileName) then
Set fout=fs.OpenTextFile("E:/text/test/aaa.txt",1,False)
tmpOldLogData = fout.ReadAll
fout.Close
End If
%>
各位大虾帮忙看看,解决后立即给分。
 
IIS的配置问题吧
有的机器不允许写文件的
 
是在不同机器自己的IIS中发布的,
现在发现一个现象, 在可以打开的机器上是发布在NTFS格式的分驱上,而打不开的机器上都是发布在FAT32格式的分驱上(都是2000系统),会不会同这个有关呢?
正在试......
 
你是不是倒过来了,应该是ntfs的权限比较严格
以下几点可以参考:
1。目录的文件读取权限设置成everyone都可以读取
2。filesystemobject必须存在
应该是权限的问题,我以前也有碰到过这种情况
 
操作系统都是2000,目录的"安全"属性都设为Everyone,任意读写,但还是不行?
 
if fs.FileExists(para) then
dim f
set f=fs.OpenTextFile(para,1)
buf=f.readall()
set f=nothing
end if
 
to 秋风萧萧,
试过了问题相同,在有的机器上一加上这句 set f=fs.OpenTextFile(para,1) 浏览器就无响应打不开页面了。将此句注释掉, 浏览器立刻就有响应了。
 
上面这个就是在ntfs下运行可以的
 
opentextfile的第三个参数我忘记什么意思了,你省略试试看
 
to 秋风萧萧,
对在有的机器上是可以的,但有些机器却.......
将参数省略也不行 :(
 
你可以试试
在语句的开头
on error resume next
......
然后在出错的下一个语句写上
response.write err.Description
看看打印出来的错误信息来判断
 
不行啊,一运行到set f=fs.OpenTextFile(para,1)这句就不动了,什么信息都出不来。
 
不过还是很谢谢你 秋风萧萧 兄,我一定会给你加分的。
 
把"E:/text/test/aaa.txt"
改成logFileName,如果不行的话,看看文件是否是只读的。
 
有的虚拟主机是不给FSO权限的。
 
to joioy:
试过了不行,并且文件不是只读的。
to 若水三千:
刚才查了一下,他的机器上已经拥有了FSO权限了。
 
如果不行的话,是不是可以写一个组件读入文件,然后在ASP中调用呢?
假如要写这个组件如何写呢?
 
多人接受答案了。
 
后退
顶部