webForumDet fria alternativet

Hjälp med Scripting.FileSystem

ASPur ASP

5 svar · 821 visningar · startad av yerkin

Medlem sedan dec. 2001423 inlägg
Frågan#1

Hej!!

Jag skulle behöva hjälp med en felkontroll som jag har.
Sidorna laddas in i min default.asp med hjälp av Server.Execute. Nu vill jag ha en felkontroll, så om inte sidorna finns, så laddas huvudsidan in..
Hur ska jag skriva detta för att det ska bli rätt..

Det är säkert många fel i koden nedan, men jag är relativt ny på det här med Scripting.FileSystemObject

<%         
           'Deklarerar variablerna
           Dim strCategory, strSubcat, ObjFSO 
           
           strCategory = Request("category")
           strSubcat = Request("subcat")
           
           'Finns ingen kategori angiven laddas startsidan
           If strCategory = "" Then
           Server.Execute("category/startsidan.asp")
		  Else
           Set ObjFSO = CreateObject("Scripting.FileSystemObject")
           
           'Get the folder object associated with the directory
            strPath = "/category/" & strCategory & "/"
           Set objFolder = objFSO.GetFolder(server.mappath(strPath))
                If ObjFSO.FileExists.objFolder(Trim(LCase(Request.QueryString("subcat"))) & ".asp") Then

                    Server.Execute("category/" & strCategory & "/" & strSubcat & ".asp")

                Else

                     Server.execute "default.asp"

                End if

           Set ObjFSO = Nothing
          End If
      %>

Hoppas ni förstår vad jag menar..

( Redigering pga ändringar i koden, men det fungerar ändå inte )

Medlem sedan mars 20002 836 inlägg
#2

kontrollera om den finns med FSO och metoden FileExists.

Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = Server.CreateObject("Scripting.FileSystemObject")
   msg = fso.FileExists(filespec)

   ReportFileStatus = msg
End Function

Labba lite med den så ska du se att du snart får det att fungera.
Funktionen returnerar True 8sant) om filen finns, annars False (falskt)

filespec är den fysiska sökvägen till din fil (x:\folder\file.txt)

cya,
PatrikB

Medlem sedan dec. 2001423 inlägg
#3

Tackar, men lite mera hjälp...

Ok, jag har trixat och mixat, men icke sa nicke..
*ler*

Så här ser det ut nu, men som sagt, jag gör säkert något jättefel i min kod...

<%         
Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = Server.CreateObject("Scripting.FileSystemObject")
   msg = fso.FileExists(filespec)

   ReportFileStatus = msg
End Function
          
'Deklarerar variablerna
 Dim strCategory, strSubcat,
           
 strCategory = Request("category")
 strSubcat = Request("subcat")
           
'Finns ingen kategori angiven laddas startsidan
If strCategory = "" Then
  Server.Execute("category/startsidan.asp")
        
  Else

  strTest = ReportFileStatus(Server.MapPath("category\" & strCategory ))
  
    If strTest = True Then
      Server.Execute("category/" & strCategory & "/" & strSubcat & ".asp")
    Else
      Server.Execute("category/" & strCategory & "/" & strCategory & ".asp")
    End IF

End IF
      %>
Medlem sedan mars 20015 287 inlägg
#4

Server.MapPath("category\" & strCategory ))

ser inte rätt ut, innehåller strCategory hela filnamnet? (inkl .asp)

Skriv ut den raden och se om sökvägen verkligen stämmer.

Medlem sedan dec. 2001423 inlägg
#5

Tackar och bockar!!!

Nu fungerar det!!

Puh!

Rätt kod blev:

<%         
Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = Server.CreateObject("Scripting.FileSystemObject")
   msg = fso.FileExists(filespec)

   ReportFileStatus = msg
End Function
          
'Deklarerar variablerna
 Dim strCategory, strSubcat
           
 strCategory = Request("category")
 strSubcat = Request("subcat")
           
'Finns ingen kategori angiven laddas startsidan
If strCategory = "" Then
  Server.Execute("category/startsidan.asp")
        
  Else

  strTest = ReportFileStatus(Server.MapPath("category\" & strCategory & "\"& strSubcat & ".asp" ))
  
    If strTest = True Then
      Server.Execute("category/" & strCategory & "/" & strSubcat & ".asp")
    Else
      Server.Execute("category/" & strCategory & "/" & strCategory & ".asp")
    End IF

End IF
      %>
Medlem sedan mars 20015 287 inlägg
#6

Lysande! Kul att du fick till det. :)

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)