帮解释一下这段代码
来源:百度知道 编辑:UC知道 时间:2024/06/20 10:11:23
'创建文件对象,准备写入
UrlArr=Split(Server.mappath(UrlStr),"\")
set fso=Server.CreateObject("Scripting.FileSystemObject")
CurrFolder=UrlArr(0)
for i=1 to UBound(UrlArr)-1
CurrFolder=CurrFolder&"/"&UrlArr(i)
If Not fso.FolderExists(CurrFolder) Then
fso.CreateFolder(CurrFolder)
End If
next
if not fso.FileExists(UrlArr(i)) then
set hf=fso.CreateTextFile(Server.mappath(UrlStr),true)
hf.write ContentStr
set hf=nothing
set fso=nothing
end if
response.redirect ("http://"&CurrDomain&UrlStr)
End Function
提示错误
Microsoft VBScript 运行时错误 错误 '800a003a'
文件已存在
/index.asp,行 112
112是这行 fso.CreateFolder(CurrFolder)
麻烦从头到尾解释一下这代码的意思
我统一把注释写在每一句的上一行吧:
Function MakeFile (UrlStr,ContentStr)
'## 先把UrlStr通过Server.mappath方法映射为物理路径,再用Split把该物理路径以“\”为标识分割为数组。
UrlArr=Split(Server.mappath(UrlStr),"\")
'## 创建一个FSO文件系统对象
set fso=Server.CreateObject("Scripting.FileSystemObject")
'## 定义一个目录(文件夹),赋值给CurrFolder。其值为UrlArr数组里的第一个元素(其实就是磁盘根目录:“C:”、“D:”、“E:”)。
CurrFolder=UrlArr(0)
'## 开始一个循环,循环次数为从1到UrlArr数组下标-1
for i=1 to UBound(UrlArr)-1
'## 组合CurrFolder,其值为之前的值加UrlArr数组里相应的下一个值。(其实就是依次展开文件夹)
CurrFolder=CurrFolder&"/"&UrlArr(i)
'## 判断组合后的CurrFolder(文件夹)是否“不”存在。
If Not fso.FolderExists(CurrFolder) Then
'## 判断为真(即:该文件夹不存在),创建该目录。
fso.CreateFolder(CurrFolder)
'## 判断结束
End If
'## 循环结束
next
'## 判断UrlArr(i)这个文件是否“不”存在(这里,i已经到达UrlArr下标,所以应该是UrlArr数组里最后一个元素,也就是文件名)
if not fso.FileExists(UrlArr(i)) then
'## 判断为真(即:该文件不存在