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

ASP
ASP简单入门教程(2):ASP环境配置
ASP简单入门教程(3):ASP语法
ASP简单入门教程(4):ASP变量
ASP简单入门教程(5):ASP子程序
HTTP 500 - 内部服务器错误(补充内容)
ASP教程:IIS中配置多站点
ASP实例教程:Content Rotator (ASP 3.0)
ASP实例教程:Content Linking组件
ASP实例教程:Browser Capabilities组件
ASP实例教程:AdRotator组件
ASP实例教程:Dictionary对象
ASP实例教程:File对象
ASP实例教程:Drive对象
ASP实例教程:TextStream对象
关于学习ASP的20个测试题目
ASP实例教程:Server对象
ASP实例教程:Session对象
ASP实例教程:用户信息和服务器
asp教程:解决IIS安装问题
ASP网站数据库被挂木马的处理办法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 204 ::
收藏到网摘: 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