webForumDet fria alternativet

Inkludera fil om den finns

ASP

8 svar · 316 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Någon som har något förslag på hur jag skulle kunna lösa detta.
Om filen inte finns får jag felmmedddelande om att inkluderingsfilen inte finns det vill jag inte.

<% Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(application("driver")&application("rootfolder")&"\pages\251") then %>
<!--#include file="251.asp"-->
<% end if 
set fso = nothing %>
Medlem sedan juni 200032 967 inlägg
#2

Du har två alternativ som jag ser det.

  1. Exekvera filen med Server.Execute()
  2. Läs in filen till en variabel med FSO, och exekvera innehållet med Execute() / ExecuteGlobal(). Det kräver dock att det endast är asp i filen.

Mvh

Medlem sedan jan. 20013 406 inlägg
#3

Filen innehåller inte enbart asp

Medlem sedan juni 200032 967 inlägg
#4

Då får du använda Server.Execute(), som ju är ganska trevligt.
Inte samma som include, men kanske kan funka för ändamålet?

Medlem sedan jan. 20013 406 inlägg
#5

Det verkar dungera jätte bra. Men vad är skillnaden mellan server.execute() och SSI?

Medlem sedan juni 200032 967 inlägg
#6

Med Server.Execute exekveras bara innehållet i den fil du vill inkludera. Du kan alltså inte i den inkluderande sidan tillgodogöra dig funktioner som ligger i det andra asp-dokumentet.

Med SSI klipps innehållet s.a.s. in i din asp-fil, och för asp-tolken ser det ut som om allt ligger i samma dokument. När en sida är exekverad med server.execute är den förverkad.

Det är lite svårt att förklara, men jag hoppas du fattar ungefär vad jag menar. :)

Mvh

Medlem sedan nov. 20017 144 inlägg
#7

En SSI-includefil läses väl in innan det resterande dokument, medans server.execute exekveras som "vanlig kod".
Du kan dessutom ange vanliga querystrings på sidan som blir svårare med SSI.

Medlem sedan jan. 20013 406 inlägg
#8

@nders skrev:

Med Server.Execute exekveras bara innehållet i den fil du vill inkludera. Du kan alltså inte i den inkluderande sidan tillgodogöra dig funktioner som ligger i det andra asp-dokumentet.

Med SSI klipps innehållet s.a.s. in i din asp-fil, och för asp-tolken ser det ut som om allt ligger i samma dokument. När en sida är exekverad med server.execute är den förverkad.

Det är lite svårt att förklara, men jag hoppas du fattar ungefär vad jag menar. :)

Mvh

Tycker det var en utomordentligt enkel och bra förklaring!

Medlem sedan juni 200032 967 inlägg
#9

Addeladde skrev:

Tycker det var en utomordentligt enkel och bra förklaring!

Härligt! :)

Lycka till med resten!

Mvh

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)