一个asp问题
我做了个新闻系统,使用静态生成html文件技术
但是生成过程中老是出错(在本地调试好用)
一放到服务器上就是创建文件失败
下面是关键代码
'**************************************************
'函数名:AutoCreateFolder
'作 用:自动创建指定的多级文件夹。
'参 数:strPath :文件夹绝对路径
'返回值:True,False
'**************************************************
Function AutoCreateFolder(strPath) ' As Boolean
On Error Resume Next
Dim astrPath, ulngPath, i, strTmpPath
Dim objFSO
If InStr(strPath, "\") <=0 Or InStr(strPath, ":") <= 0 Then
AutoCreateFolder = False
Exit Function
End If
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strPath) Then
AutoCreateFolder = True
Exit Function
End If
astrPath = Split(strPath, "\")
ulngPath = UBound(astrPath)
strTmpPath = ""
For i = 0 To ulngPath
strTmpPath = strTmpPath & astrPath(i) & "\"
If Not objFSO.FolderExists(strTmpPath) Then
' 创建
objFSO.CreateFolder(strTmpPath)
End If
Next
Set objFSO = Nothing
If Err = 0 Then
AutoCreateFolder = True
Else
AutoCreateFolder = False
End If
End Function
'**************************************************
'函数名:CreateFile
'作 用:创建文件。
'参 数:FilePath:文件路径,FileName:文件名,FileBody:文件内容
'返回值:无
'**************************************************
Function CreateFile(FilePath,FileName,FileBody)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
'调用AutoCreateFolder函数创建目录
if not fso.FolderExists(server.Mappath(FilePath)) then AutoCreateFolder(server.mappath(FilePath))
'使用FSO对象创建文件
Set fwrite = fso.CreateTextFile(server.mappath(FilePath&"\"&FileName))
fwrite.WriteLine FileBody
fwrite.close
set fso=nothing
End Function
问题就是出在“if not fso.FolderExists(server.Mappath(FilePath)) then AutoCreateFolder(server.mappath(FilePath))
'使用FSO对象创建文件
Set fwrite = fso.CreateTextFile(server.mappath(FilePath&"\"&FileName))”
代码段,“
Set fwrite = fso.CreateTextFile(server.mappath(FilePath&"\"&FileName))””根本不执行(我用response跟踪的)
我又使用response.write(fso.FolderExists(server.Mappath(FilePath)) )
response.end
来判断true 或者false 但是根本没执行 好象直接跳过去了
不知道为什么?
谢谢大家指教!!!
参考答案:我对这方面并不是非常了解,但是给个建议吧……
看看您的远程装载ASP脚本的文件夹属性设置,要通过语言创建文件,基文件夹必须是可读可写的。
再有,确认一下远程主机是否可以使用FSO,有的ASP主机会禁用FSO防止病毒。请稍微注意一下。