webForumDet fria alternativet

Hjälp med Scripting.FileSystem

5 svar · 821 visningar · startad av yerkin

yerkinMedlem sedan dec. 2001423 inlägg
#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 )

PatrikBMedlem 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

yerkinMedlem 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
      %>
solbulleMedlem 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.

yerkinMedlem 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
      %>
solbulleMedlem sedan mars 20015 287 inlägg
#6

Lysande! Kul att du fick till det. :)

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