Avatar billede bootlab Nybegynder
16. juni 2003 - 14:48 Der er 7 kommentarer og
1 løsning

Find filen

Hey :)

Jeg skal bruge et asp script som kan finde en fil ved navn og .ext (mp3 feks.) i et katalog - desuden skal det kunne fortælle mig størrelsen på filen.

Nogle der har et forslag?

/boot
Avatar billede mortency Nybegynder
16. juni 2003 - 14:50 #1
Skal det kun finne en bestemt filtype eller flere?
Avatar billede mortency Nybegynder
16. juni 2003 - 14:53 #2
Bare lag en side først som tar med form (SearchText,mappe) Den søker igjennom filen og filnavnet.
Avatar billede mortency Nybegynder
16. juni 2003 - 14:53 #3
<%
Const fsoForReading = 1

Dim strSearchText
strSearchText = Request("SearchText")

Dim strSearchMappe
strSearchMappe = Request.Form("Mappe")

If strSearchText = "" Then
    error = error & "Du må søke etter noe. "
End if

If Len(strSearchMappe) > 14 Then
    error = error & "Du kan bare velge en mappe å søke i. "
End if

If strSearchMappe = "" Then
    error = error & "Du må velge hva du skal søke i. "
End if

If error <> "" Then
    Response.Clear
    %><html>
    <body onload="window.alert('En feil oppstod! <% =error %>');
            window.history.back();">
    &nbsp;</body></html><%
    Response.End
End If   

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Dim strSti
strSti = "../wwwroot/" & strSearchMappe

Dim objFolder
Set objFolder = objFSO.GetFolder(Server.MapPath(strSti))

Dim objFile, objTextStream, strFileContents, bolFileFound
bolFileFound = False

For Each objFile in objFolder.Files
  If Response.IsClientConnected then
    Set objTextStream = objFSO.OpenTextFile(objFile.Path,fsoForReading)

    strFileContents = objTextStream.ReadAll

    If InStr(1,strFileContents,strSearchText,1) then
                              Response.Write "<table width=490 border=0 cellspacing=0 cellpadding=0>"
                            Response.Write "<tr><td><li><font face=Arial size=2>"
                            Response.Write "<A HREF=" & strSti & "/" & objFile.Name & ">" & objFile.Name
                            Response.Write "</td>"
                            Response.Write "<td width=210><font face=Arial size=2>(Opprettet: " & objFile.DateCreated & ")&nbsp; &nbsp;</font></td></tr></table>"
      bolFileFound = True
    End If

    objTextStream.Close
  End If
Next

if Not bolFileFound then Response.Write "Beklager ingen treff..."

Set objTextStream = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
%>
Avatar billede netro Nybegynder
16. juni 2003 - 14:55 #4
search = "søgeord"

Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set dir = fso.GetFolder(server.mappath("."))

Set foldercollection = dir.Files
For Each file in foldercollection
  If instr(LCase(file.name), LCase(search)) Then
      Response.Write Left(file.name, (int(instr(file.name, "."))-1))
  End If
Next

Set foldercollection = nothing
Set dir = nothing
Set fso = nothing
Avatar billede netro Nybegynder
16. juni 2003 - 15:00 #5
Størrelsen returneres med file.Size. Dvs.:

Response.Write Left(file.name, (int(instr(file.name, "."))-1)) & " (" & file.Size & ")<br>"
Avatar billede bootlab Nybegynder
16. juni 2003 - 21:16 #6
Super!
netro> Simpelt og lige hvad jeg efterspurgte...
mortency> Det er lidt mere end hvad jeg har brug for - men så var der et par detaljer som jeg godt vil give point for - læg lige et svar.

Jeg deler pointene imellem jer ... ok?

/boot
Avatar billede netro Nybegynder
17. juni 2003 - 16:11 #7
Jeg vil godt have 61 points! Nej, det er helt fint ;o)
Avatar billede bootlab Nybegynder
23. juni 2003 - 23:17 #8
Så røg tålmodigheden :)
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