Du verkar bara ha definierat
fil som en katalog, du får lägga till ett filnamn oxå ;)
t ex
fil = path & "\" & Session("url") & "\" & Session("filename")
Om du där ha Session("filename") som filnamnet.
-Eitraz
15 svar · 343 visningar · startad av sudden
Hejsan!
Jag har en kod som ser ut så här:
<html>
<body>
[KOD]
<%
path = Server.MapPath("/SUDDENS-4W5V3H3")
fil = path & "\" & Session("url")
Set MittTxtObj = CreateObject("Scripting.FileSystemObject")
Set MinFil = MittTxtObj.CreateTextFile(fil, True)
MinFil.WriteLine("<html><head><title>" & Session("rubrik") & "</title></head>")
MinFil.WriteLine("<body BGCOLOR =" & Session("bfarg") & " TEXT = " & Session("tfarg") & ">")
MinFil.WriteLine("<H1><center>")
MinFil.WriteLine(Session("rubrik"))
MinFil.WriteLine("</center></H1>")
MinFil.WriteLine(Session("text"))
MinFil.WriteLine("<HR>")
MinFil.WriteLine("<center>Denna sida? skapades" & date & " av <a href=mailto:" & Session("e-post") & ">" & Session("namn") & "</a>")
MinFil.WriteLine("</center></body></html>")
MinFil.Close
%>
<H1>Gör din egen webbsida</H1>
<H2>Steg 5(5) - Sidan är skapad</H2>
Klicka <a href = <%=Session("url")%>>här</a>för att gå till den!
</body>
</html>
Meningen med det här är att användaren ska kunna få skapa en egen enkel hemsida!
Anta att användaren skrev in att filen skulle heta hemsida.htm...hur gör jag då för att skapa den
Du verkar bara ha definierat
fil som en katalog, du får lägga till ett filnamn oxå ;)
t ex
fil = path & "\" & Session("url") & "\" & Session("filename")
Om du där ha Session("filename") som filnamnet.
-Eitraz
Men session("url") är ju namnet på filen.
Då är det väll inga problem då :)
För du har väll forumlär o så att göra hemsidan i? Är ju bara o lägga till en input filnamn eller nåt.
-Eitraz
jo jag vet...men när jag kör alltihop så får jag det här meddelandet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A004C)
Det går inte att hitta angiven sökväg.
/test/hemguide/hemguide5.asp, line 9
tror det
Isåfall får du nog slänga ut lite till kod.. för jag hittar inget fel i den ovan (kan ju ha missat oxå förstås..)
-Eitraz
Det jag menar är att filen inte skapas i katalogen!
Det är användaren som ska få bestämma vad filen ska heta!
En liten fråga bara; varför i hela tomteskogens alla svampmusslor använder du sessions till alla dina variablar? :)
Detta kommer ge dig en enorm prestandaförlust, man skall inte skapa så många sessions-variablar på en sida.
*ha ha*
Ok...men vad ska jag använda mig av då?
Jag har typ 5 olika sidor med formulär och jag vill behålla informationen från allihopa och sedan kunna anropa dem!
Ska jag använda en databas?
Skapa ett scripting.dictionary som du lagrar alla dina värden i, den lägger du sedan i en session... men se till att du temporärlagrar ditt scripting.dictionary i en lokal variabel när du skall använda värdena.
Okej...tack för tipset :birp
att stoppa ett objekt i session är ju ännnu sämre. scripting.dictionary är ett objekt och dessa skall man absolut inte stoppa i session ,de tar up ännu mer minne än om man sparar lite text i session.
Bästa sättet är att posta informationen från sida till sida om man är prestanda beroende. Annars kan man gott ha dem i session som ren text.
mrblonde skrev:
att stoppa ett objekt i session är ju ännnu sämre. scripting.dictionary är ett objekt och dessa skall man absolut inte stoppa i session ,de tar up ännu mer minne än om man sparar lite text i session.
Bästa sättet är att posta informationen från sida till sida om man är prestanda beroende. Annars kan man gott ha dem i session som ren text.
Inte bara det att det är ett objekt; ett Dictionary-objekt skall man absolut inte lägga i session-scope, enligt ASP 3.0 Reference Manual från Wrox Publishing. Det fanns t.o.m. en bugg som gjorde att IIS crashade om man satte ett sådant objekt i t.ex. application-scope, då det tidiga dictionary-objektet var menat för klient-side-användning från början.
I vilket fall som helst, frågan är ifall det (som mrBlonde säger) verkligen är någon skillnad?
Som alltid är det en balansgång mellan prestanda och funktionellt byggande, att ha alla variabler i ett dictionary ger bättre översikt och du samlar alla värden på ett ställe, men samtidigt ger det servern mer att minnas.
Om du inte vill använda ett dictionary kan du använda en helt vanlig array, men då tappar du namngivningen av de index som värdena skall läggas.
Ett tredje alternativ är att lägga det i en databas.