当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp中创建多级目录的两段代码

ASP
使用ASP开发web站点
Web设计里的软件工程思想
关于Adodb.Stream 的使用说明
处理ASP请求的内部讨论
ASP 开发准则
WebClass入门(1)
ASP代码中的容错机制
ASP、PHP和JSP的比较
asp简介和五大内置对象
全面解析Server对象
ASP的技术特点与使用方法
从ASP迁移至ASP+--最初的考虑(二)
ASP+与ASP有什么不同
session和cookie的最深刻理解
asp程序错误详细说明例表
简单WEB开发规范
HTA的简单应用
关于学习c++和编程的50个观点(学什么都适用)
常见的80004005错误及其解决方法
ASP教程:不连数据库进行查询分页的思路

ASP 中的 asp中创建多级目录的两段代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 125 ::
收藏到网摘: n/a

复制代码 代码如下:

'==============================
'创建多级目录,可以创建不存在的根目录
'参数:要创建的目录名称,可以是多级
'创建目录的根目录从当前目录开始
'''调用举例
''Call CreateMultiFolder("/upload/jumbot/myphoto/")
'==============================
Function CreateMultiFolder(ByVal CFolder)
Dim objFSO, PhCreateFolder, CreateFolderArray, CreateFolder
Dim i, ii, CreateFolderSub, PhCreateFolderSub, BlInfo
BlInfo = False
CreateFolder = CFolder
On Error Resume Next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If Err Then
Err.Clear()
Exit Function
End If
If Right(CreateFolder, 1) = "/" Then
CreateFolder = Left(CreateFolder, Len(CreateFolder) -1)
End If
CreateFolderArray = Split(CreateFolder, "/")
For i = 0 To UBound(CreateFolderArray)
CreateFolderSub = ""
For ii = 0 To i
CreateFolderSub = CreateFolderSub & CreateFolderArray(ii) & "/"
Next
PhCreateFolderSub = Server.MapPath(CreateFolderSub)
If Not objFSO.FolderExists(PhCreateFolderSub) Then
objFSO.CreateFolder(PhCreateFolderSub)
End If
Next
If Err Then
Err.Clear()
Else
BlInfo = True
End If
CreateMultiFolder = BlInfo
End Function

上面的是循环
下面的是正则
复制代码 代码如下:

'==============================
''创建文件目录(多层)
''使用正则
'==============================
Function Create_N_Folder(save, ByVal Path)
Dim Fso
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
If Not Fso.FolderExists(Path) Then
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^(.*)\\([^\\]*)$"
regEx.Global = False
regEx.IgnoreCase = True
save = save & regEx.Replace(Path, "$2") & "|"
Path = regEx.Replace(Path, "$1")
If Create_N_Folder(save, Path) Then Create_N_Folder = True
Set regEx = Nothing
Else
If save = "|" Then
Create_N_Folder = True
Else
Dim Temp
Temp = Mid(save, 2, Len(save) - 2)
If InStrRev(Temp, "|") = 0 Then
save = "|"
Path = Path & "\" & Temp
Else
Dim Folder
Folder = Mid(Temp, InStrRev(Temp, "|") + 1)
save = "|" & Mid(Temp, 1, InStrRev(Temp, "|") - 1) & "|"
Path = Path & "\" & Folder
End If
Fso.CreateFolder Path
If Create_N_Folder(save, Path) Then Create_N_Folder = True
End If
End If
Set Fso = Nothing
End Function