Avatar billede stoffer Nybegynder
04. september 2001 - 13:45 Der er 7 kommentarer og
1 løsning

Oversigt overfiler på en anden server

Hejsa, jeg skal lave en liste over filer i en mappe, som godt kan have undermapper (som også skal listes).

Det drejer sig kun om mid\'er og bmp\'er

DVS jeg skal hente filer fra www.xxx.dk/visaltfradennemappe/

Skal jeg bruge et HTTP komponent eller kan man kun gøre det vha. Inet komponent (jeg har FTP pass til rådighed)

Kodeekspempler giver ekstra ;)
Avatar billede runesoft Nybegynder
04. september 2001 - 13:56 #1
Følgende har jeg kodet. Der returneres en kommasepereret tekststreng med alle mid og bmp filer.

sFiles = filesinholder(server.MapPath(\"/\"))

Function filesinfolder(path)
    files= \"\"
    Set myFSO = CreateObject(\"Scripting.FileSystemObject\")
    Set myf = myfso.GetFolder(Path)
        for each subfolder in myf.SubFolders
        if instr(1,subfolder,\"_vti\",1)=0 then
        temp=filesinfolder(subfolder)
        if temp <> \"\" then
            if files <> \"\" then
                files=files & \",\" & temp
            else files = temp
            end if
        end if
        end if
    next
    myFSO=null
    myF=null
    temp=filenames(path)
    if temp <> \"\" then
            if files <> \"\" then
                files=files & \",\" & temp
            else files = temp
            end if
    end if
    filesinfolder=files
End Function




\'*********************************************************************************
\'FileNames
\'
\'input: mappe
\'output: navnene på alle de ASP filer der ligger i den aktuelle mappe

Function filenames(path)
    Set myFSO = CreateObject(\"Scripting.FileSystemObject\")
    Set myf = myfso.GetFolder(Path)
    Set myfc = myf.Files
    files=\"\"
    For Each myfile in myfc
       
        if instr(1,myfile.name,\".mid\",1)<>0 OR instr(1,myfile.name,\".bmp\",1) <> 0 then
        if files <> \"\" then
            files = files & \",\" & myfile.path
        else files = myfile.path
        end if
        end if
    Next
    Set myFSO = nothing
    Set myf = nothing
    Set myfc = nothing
    filenames=files
End Function
Avatar billede stoffer Nybegynder
04. september 2001 - 14:05 #2
Ja men den dur jo ikke,da de filer  jeg lister ikke ligger på min server ... de SKAL browses igennem ud fra stien \"http://www.xxx.dk/seoversigtoverdennemappe/
Avatar billede oswald Nybegynder
04. september 2001 - 14:06 #3
runesoft:> Er problemet ikke primært at filerne ligger på en anden server og fungerer din kode ikke kun internet?

Stoffer:> Du kan evt bruge InetCtls komponenten til at lave en filliste via FTP. Jeg kender desværre ikke meget til den med den er standart MS så du burde have den ellers kan den downloades fra
http://activex.microsoft.com/controls/vb6/MSInet.cab
Følgende kode henter en fil via ftp og viser den på siden.

    Dim test
    Set test = CreateObject(\"InetCtls.inet\")
    test.Protocol = 2 \'icftp
    test.RemoteHost = \"ftp.test.com\"
    test.RemotePort = 21
    test.Document = \"test.zip\"
    response.BinaryWrite test.GetChunk(10000)
Avatar billede oswald Nybegynder
04. september 2001 - 14:08 #4
Alternativt kan du bruge runesoft\'s metode på den server hvor filerne ligger og så hente resultatet via MSXML2.HTTPRequest objectet.
Avatar billede stoffer Nybegynder
04. september 2001 - 14:08 #5
det eksempel du har kommet med er jo nemt nok...det andet er lidt mere tricky med at du ikke har FSO til rådighed...

Jeg tænker lidt på at lave et VB program til det, men er det overkill???

Avatar billede oswald Nybegynder
04. september 2001 - 14:11 #6
Hvor ofte skal de have listen over filer?
Avatar billede stoffer Nybegynder
04. september 2001 - 14:17 #7
Indtil videre er der kun én bruger, men det skal i princippet opdateres sekundet efter at der er nogen nye filer.

Jeg hælder mest til Inet løsningen, som jeg også selv havde tænkt på, jeg tænkte måske bare at der var noget bedre...måske findes der et komponent der kan gør det nemt?...

jeg havde ikke selv tænkt på den vinkel med HTTP objektet, tak...

jeg lader spg. stå lidt og så deler jeg point ud.
Avatar billede stoffer Nybegynder
10. september 2001 - 15:58 #8
btw jeg brugte ikke nogen af jeres forslag men brugte i stedet et ftp-script fyret af med en batchfil, som jeg kalder fra shell i min ASP fil.

(ligesom når man bruge FTP fra command-prompten)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester