Kan man inkludera en fil som man inte vet namnet på (namnet ligger i en variabel) med include file? Om du kör IIS5 kan du använda server.execute, alltså: Hej! Finns det nån fördel med att använda en variabel? Har inte hållt på så mycket med ASP. Men jag skulle ha skickat data direkt till Response.Write. Hallåj! Jag har med kikat på detta men hittade ingen lösning. Include utförs på servern innan ASP koden behandlas. Det är därför du kan includera ASP kod i dokumentet som du Includar. Det går altså inte att använda ASP kod för att ange vilken fil include hänvisar till.include med filnamnsvariabel
Eller finns det något annat sätt att uppnå samma mål?
Har prövat...
Dim inc
inc = "<!-- #include file='" & Filename & "' -->"
Response.Write inc
...men det fungerar ej!
den skriver i koden <!-- include file='minfil.asp' --> men filen inkluderas inte!
Är det någon som vet vad jag kan göra?Sv: include med filnamnsvariabel
server.execute filename
/JohanSv: include med filnamnsvariabel
SSI-direktiv körs alltid FÖRE vanlig ASP-kod.
Innehåller den fil du vill inkludera vanlig HTML eller programkod som du vill ska köras? Om det är vanlig HTML så skulle du ju kunna skriva något i stil med
<code>
' strFile är filvariabeln du vill inkludera
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile(Server.MapPath(strFile), 1, False, 0)
strData = objStream.ReadAll
objStream.Close
Set objStream = Nothing
Response.Write strData
</code>
...kanske?
Lycka till och lev väl,
Tom S.Sv: include med filnamnsvariabel
Om man har ADO 2.5 så kan man väl också använda ADODB.Stream objektet. Känner någon till för och nackdelar?
Response objektet stödjer ju också IStream gränssnittet. Kan man använda det på något smart sätt istället för att alokera minne med sträng variabler?
'Tror inte detta spelar så mycket roll:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile(Server.MapPath(strFile), 1, False, 0)
Response.Write objStream.ReadAll
objStream.Close
Set objStream = Nothing
Set objFSO = Nothing Sv: include med filnamnsvariabel
Ahh... Väldigt klumpigt skrivet av mig.
Lev väl,
Tom S.Sv: include med filnamnsvariabel
Jag vill hämta filens namn med request(Fil) och sedan skriva ut den i "include" men det går inte att sätta in asp i INC....
'Går inte
<!-- #include file='<%=Fil%>' -->
Hur kan jag göra detta någon..?
Tack på förhand.
//StefanSv: include med filnamnsvariabel
Om du vill retunera en annan fil från din ASP sida så kan du använda FileSystemObjects.
Exempel:
<%
Dim strFile
strFile = request(Fil)
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = objFSO.OpenTextFile(Server.MapPath(strFile), 1, False, 0)
Response.Write objStream.ReadAll
objStream.Close
Set objStream = Nothing
Set objFSO = Nothing
%>