Avatar billede hundevennen Nybegynder
26. maj 2009 - 14:53 Der er 9 kommentarer og
1 løsning

kan ikke hente includefil fra underbibliotek

jeg forsøger at inkludere en fil sådan:
<!--include file="underbibliotek/fil.asp"-->
har prøvet med../foran og med include virtual men kan ikke fange fil.asp
Avatar billede hundevennen Nybegynder
26. maj 2009 - 15:31 #1
lidt mere forklaring.
jeg har forside.asp, - på den vil jeg inkludere filen fil.asp, som ligger i et underbibliotek til forside.asp.
Avatar billede keysersoze Guru
26. maj 2009 - 15:52 #2
jeg ved ikke hvilket fejl du får - men de fleste steder er der spærret for ../ til at bevæge sig baglæns så måske er det det du oplever. en løsning kunne være at benytte

<!--include virtual="/mappe/dinfil.asp"-->
Avatar billede hundevennen Nybegynder
26. maj 2009 - 17:30 #3
keysersoze - den fil jeg vil inkludere er en aspfil med et fso objekt kode der viser bibliotekets navn og de filer der ligger i biblioteket.
hvis biblioteket filen ligger i hedder bibliotek og biblioteket hvor min forside.asp ligger hedder hovedbibliotek,og jeg så inklude med
<!--include virtual="/bibliotek/fil.asp"-->
så for jeg inholdet af hovedbibliotek?????
Avatar billede keysersoze Guru
26. maj 2009 - 18:06 #4
så har du vel angivet en forkert sti i din FSO?
Avatar billede hundevennen Nybegynder
26. maj 2009 - 21:56 #5
når jeg taster hele stien i adresselinie i IE til fil.asp så kører den fint og viser det den skal, men når jeg inkludere den i forside.asp så fejler den?
Jeg har ikke scriptet herhjemme men poster det imorgen
Avatar billede keysersoze Guru
26. maj 2009 - 22:23 #6
alt afhængig af hvordan du har angivet stien - så bliver den læst ud fra hvor koden eksekveres og ikke hvor filen ligger, derfor oplever du forskellen. Du er nødt til at angive en korrekt sti - fx Server.MapPath("/mappe")
Avatar billede hundevennen Nybegynder
27. maj 2009 - 07:24 #7
her kommer den kode jeg bruger til fil.asp som så ligger i underbiblioteket og som jeg så inkludere fra hovedbiblioteket:

<%
Dim UPLOAD_PATH


        UPLOAD_PATH    = Server.MapPath(".")

    Dim g_oFso, g_oFolder, g_oFile
        Set g_oFso    = Server.CreateObject("Scripting.FileSystemObject")
        Set g_oFolder    = g_oFso.getFolder(UPLOAD_PATH)

    If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
        Dim g_oUpload
            Set g_oUpload    = get_upload_files()

        Dim fpos, fcontent
            fcontent    = g_oUpload("upload").Item("content")
        Set g_oFile    = g_oFso.CreateTextFile(UPLOAD_PATH & "\" & extract_filename(g_oUpload("upload").Item("filename")))
        For fpos = 1 to LenB(fcontent)
            g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
        Next
        g_oFile.Close: Set g_oFile    = Nothing
       
        Response.Redirect Request.ServerVariables("SCRIPT_NAME")
    End If
   
    Response.Write "<html><body><table class='plan'>"
   
    Response.Write "<tr><td ><font face='Trebuchet MS' size='+2'>" & g_ofolder.name & "</font></font></font></td></tr><tr><td></td></tr>"
   
    Response.Write "<tr><td></td></tr>"
   
    Response.Write "</table></body></html>"
   

%>



<%
'**********
'kc_fsoFiles
'Purpose:
' 1. To create a recordset using the FSO object and ADODB
' 2. Allows you to exclude files from the recordset if needed
'Use:
' 1. Call the function when you're ready to open the recordset
' and output it onto the page.
' example:
' Dim rsFSO, strPath
' strPath = Server.MapPath("\PlayGround\FSO\Stuff\")
' Set rsFSO = kc_fsoFiles(strPath, "_")
' The "_" will exclude all files beginning with
' an underscore
'**********
Function kc_fsoFiles(theFolder, Exclude)
Dim rsFSO, objFSO, objFolder, File
  Const adInteger = 3
  Const adDate = 7
  Const adVarChar = 200
 
  'create an ADODB.Recordset and call it rsFSO
  Set rsFSO = Server.CreateObject("ADODB.Recordset")
 
  'Open the FSO object
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 
  'go get the folder to output it's contents
  Set objFolder = objFSO.GetFolder(server.mappath("."))

    'Now get rid of the objFSO since we're done with it.
  Set objFSO = Nothing
 
  'create the various rows of the recordset
  With rsFSO.Fields
    .Append "Name", adVarChar, 200
    .Append "Type", adVarChar, 200
    .Append "DateCreated", adDate
    .Append "DateLastAccessed", adDate
    .Append "DateLastModified", adDate
    .Append "Size", adInteger
    .Append "TotalFileCount", adInteger
  End With
  rsFSO.Open()
   
  'Now let's find all the files in the folder
  For Each File In objFolder.Files
   
    'hide any file that begins with the character to exclude
    If (Left(File.Name, 1)) <> Exclude Then
      rsFSO.AddNew
      rsFSO("Name") = File.Name
      if instr(File.Name,".") then
          rsFSO("Type") = mid(File.Name,instrrev(File.Name,".")+1)
      else
          rsFSO("Type") = ""
      end if
      rsFSO("DateCreated") = File.DateCreated
      rsFSO("DateLastAccessed") = File.DateLastAccessed
      rsFSO("DateLastModified") = File.DateLastModified
      rsFSO("Size") = File.Size
      rsFSO.Update
    End If

  Next
   
  'And finally, let's declare how we want the files
  'sorted on the page. In this example, we are sorting
  'by File Type in descending order,
  'then by Name in an ascending order.
  rsFSO.Sort = "DateCreated DESC "
  rsFSO.Filter = "Type <> 'zip' and Type <> 'asp' and Type <> 'jpg' and Type <> 'txt' and Type <> 'html'"

  'Now get out of the objFolder since we're done with it.
  Set objFolder = Nothing

  'now make sure we are at the beginning of the recordset
  'not necessarily needed, but let's do it just to be sure.
  rsFSO.MoveFirst()
  Set kc_fsoFiles = rsFSO
   
End Function

'Now let's call the function and open the recordset on the page
'the folder we will be displaying
Dim strFolder : strFolder = Server.MapPath(".")

'the actual recordset we will be creating with the kc_fsoFiles function
Dim rsFSO 'now let's call the function and open the recordset

'we will exclude all files beginning with a "_"
Set rsFSO = kc_fsoFiles(strFolder, "_")

'now we'll create a loop and start displaying the folder
'contents with our recordset. Of course, this is just a
'simple example and not very well formatted, i.e., not in
'a table, but it gets the point across on how you can
'ouput the recordset on the page.
  response.write "<table border=0 cellpadding=0 class=2nyhed><tr><td>"
  count = 0
    While Not rsFSO.EOF and count < 2
  'response.write "<table border=0 cellpadding=0 class=10nyhed><tr><td>"
 
Response.Write "<a href=""" & rsFSO("Name").Value & """ target=_blank>" & left(rsFSO("Name").Value,(len(rsFSO("Name").Value)-4)) & "    <br>"
 
  'and let's move to the next record
    rsFso.MoveNext()
    count = count + 1
  Wend
  response.write "</font></td></tr></table>"
 
  'finally, close out the recordset
  rsFSO.close()
  Set rsFSO = Nothing
Avatar billede hundevennen Nybegynder
27. maj 2009 - 07:26 #8
Den øverste del henter bare biblioteksnavnet og nederstedel henter de 2 sidste nye filer fra biblioteket - det kunne måske sammenskrives, men det har jeg ikke kunne finde ud af.
Avatar billede hundevennen Nybegynder
27. maj 2009 - 08:33 #9
keysersoze - jeg har fået det til at virke ved at lægge inkludefilen op i hovedbiblioteket og ændre stien

UPLOAD_PATH    = Server.MapPath("./underbibliotek/fil.asp")

Det virker, så tak for inspirationen og læg et svar
Avatar billede keysersoze Guru
27. maj 2009 - 17:49 #10
svar :)
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