Jag använder den här koden på några sidor för att inkludera filer:
<%
kategori = Request.QueryString("kategori") & "/"
If Request.QueryString("kategori") = "" Then
kategori = ""
End If
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
End If
Path = Server.MapPath(kategori & sida & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If sida <> "" and FilSys.fileExists(Path) Then
Set Read = FilSys.OpenTextFile(Path)
Do While Not read.AtEndOfStream
Response.Write read.ReadLine & vbcrlf
Loop
Set Read = nothing
Else
%>Sidan är inte klar..<%
End If
Set FilSys = nothing
%>
Nu är det så att jag vill att ASP kod i .inc filen (har även testat att ha .asp) ska köras som vanligt. Finns det nåt sätt att göra det på?
Grr.. Det där med funktioner funkade inte.
Vill ha det här på sidan där den andra filen ska inkluderas:
<%
Function font(face, size, color, text)
Response.write "<font face=""" & face & """ size=""" & size & """ color=""" & color & """>" & text & "</font>"
End Function
%>
nej det fungerar inte att "prata mellan" de två filerna med server.execute, dom körs separat, och resultatet av filen du exekverar förs in i orginalfilen.
Varför har du inte alla funktioner i en includefil som du inkluderar på de sidor du behöver?
------------------ Nu har du sjungit på sista refrängen Jourhavande Vide
Jo, jag skulle kunna inkludera en fil med SSI i filen som redan inkluderats. Där kan jag då ha funktioner och liknande, och behöver man ändra något så behöver man bara göra det i en "funktion-fil". :)
Men min andra fråga, hur ska jag skriva koden? Vill ju ha in server.execute i koden jag skrev överst.. :)
Då får man ju ett felmeddelande om filen inte finns. Det får man inte med koden längst upp.
Kan man inte ta koden längst upp och bara lägga in server.execute någonstans?
Det felet såg jag innan. Men det jag menar är att jag vill att om inte filen finns så ska jag själv kunna skriva en text. Så är det i koden jag har nu (den längst upp)..
<%
on error resume next
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
server.execute(sida&".inc")
if err.number <> 0 then response.write "filen finns ju inte, din apa!"
End If
%>
eller så kan man använda din kod från originalinlägget för att kolla med fso först om filen finns, gör den det så, .execute.
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
598 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e