Avatar billede gordi Nybegynder
20. marts 2007 - 18:27 Der er 7 kommentarer og
1 løsning

include virtual med variabelt filnavn

Hejsa

Af årsager jeg ikke gider at forklare, skal jeg bruge et lille asp script som tester om en given fil eksisterer, og hvis den gør så skal filen inkluderes i html'en.

Jeg har så lavet følgende script:
<%
FileName = "includefil.asp"

Set fs=Server.CreateObject("Scripting.FileSystemObject")
FilePath = Request.ServerVariables("APPL_PHYSICAL_PATH") & "\indhold\" & FileName


If (fs.FileExists(FilePath))=true Then
%>
<!-- #include virtual="./indhold/<% Response.Write(FileName) %>" -->
<%
End If

set fs=nothing
set FileName=nothing
set FilePath=nothing
%>

Den kvikke "asp-koder" vil sikkert observere at dette ikke kan lade sige gøre fordi serveren vil forsøge at finde en fil ved navn: "<% Response.Write(FileName) %>".

Så spørgsmålet er som følger: Kan det på en eller anden måde lade sig gøre at bruge include virtual sammen med et variabelt filnavn? Jeg er åben for alternative løsninger.
Avatar billede kalp Novice
20. marts 2007 - 20:06 #1
Avatar billede kalp Novice
20. marts 2007 - 20:09 #2
hmm.. jeg er måske ikke helt med hvad du prøver at lave, men kunne lyde som om du også skal ind på denne
http://www.w3schools.com/asp/showfile.asp?filename=demo_getfilename
Avatar billede madeindk Nybegynder
20. marts 2007 - 20:35 #3
Det kan ikke lade sig gøre at putte ASP i en include kommando.

Der skal du bruge Server.Execute("ditfilnavn")
Avatar billede gordi Nybegynder
20. marts 2007 - 21:46 #4
Kalp: Det var ikke helt det jeg ledte efter.

Til gengæld var det som madeindk forslår præcist det jeg ledte efter. Tusind tak

Med følgende kode blive filen nu inkluderet i html dokumentet:

<%
FileName = "file_to_include.asp"

Set fs=Server.CreateObject("Scripting.FileSystemObject")
FilePath = Request.ServerVariables("APPL_PHYSICAL_PATH") & "\indhold\" & FileName


If (fs.FileExists(FilePath))=true Then

    Server.Execute("./indhold/" & FileName)

End If

set fs=nothing
set FileName=nothing
set FilePath=nothing
%>

madeindk: Smid et svar
Avatar billede madeindk Nybegynder
20. marts 2007 - 22:22 #5
Ok cool :-)

Her er mit svar, det var godt du kunne bruge det.
Avatar billede madeindk Nybegynder
20. marts 2007 - 22:23 #6
Næh, det var ikke noget svar :D
Avatar billede madeindk Nybegynder
20. marts 2007 - 22:27 #7
Og lige til en mindre reminder, måske lidt ubrugeligt men hvis en værdi bliver returnet som True/true behøver du ikke skrive ... = true så kan du nøjes med sådan her:

If (fs.FileExists(FilePath)) Then
  Server.Execute("./indhold/" & FileName)
End If
Avatar billede gordi Nybegynder
21. marts 2007 - 12:45 #8
Smart. Tak skal du have
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