asp 에서 다단 계 디 렉 터 리 를 만 드 는 두 단계 코드

실현 코드 1.비교적 전문 적 으로 보기

    '============================== 
    '      ,            
    '  :        ,      
    '                
    '''     
    ''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
위 는 순환.
실현 방법 2.

'        
'code by jb51 reterry
function createit(path)
dim fsofo,cinfo,thepath,thepatharray
dim i,ii,binfo
binfo=false
thepath=path
set fsofo=createobject("scripting.filesystemobject")
if err then
err.clear
exit function
end if
thepath=replace(thepath,"\","/")
if left(thepath,1)="/" then
thepath=right(thepath,len(thepath)-1)
end if
if right(thepath,1)="/" then
thepath=left(thepath,len(thepath)-1)
end if
thepatharray=split(thepath,"/")
for i=0 to ubound(thepatharray)
createfoldersub1=createfoldersub1&thepatharray(i)&"/"
createfoldersub=server.mappath(createfoldersub1)
if not fsofo.folderexists(createfoldersub) then
fsofo.createfolder(createfoldersub)
end if
next
if err then
err.clear
else
binfo=true
end if
createit=binfo
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
이상 은 asp 에서 다단 계 디 렉 터 리 를 만 드 는 두 개의 코드 에 대한 상세 한 내용 입 니 다.asp 에서 다단 계 디 렉 터 리 를 만 드 는 데 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기