当前位置:Gxlcms > ASP > asp中创建多级目录的两段代码

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

时间:2021-07-01 10:21:17 帮助过:35人阅读

代码如下:
        '==============================
        '创建多级目录,可以创建不存在的根目录
        '参数:要创建的目录名称,可以是多级
        '创建目录的根目录从当前目录开始
        '''调用举例
        ''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

人气教程排行