webForumDet fria alternativet

Skapa textfiler

ASP

15 svar · 343 visningar · startad av sudden

Medlem sedan okt. 2002341 inlägg
Frågan#1

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

Medlem sedan sep. 2002366 inlägg
#2

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

Medlem sedan okt. 2002341 inlägg
#3

Men session("url") är ju namnet på filen.

Medlem sedan sep. 2002366 inlägg
#4

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

Medlem sedan okt. 2002341 inlägg
#5

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

Medlem sedan sep. 2002366 inlägg
#6

Aha, du har alla \ vända åt rätt håll va?

-Eitraz

Medlem sedan okt. 2002341 inlägg
#7

tror det

Medlem sedan sep. 2002366 inlägg
#8

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

Medlem sedan okt. 2002341 inlägg
#9

Det jag menar är att filen inte skapas i katalogen!
Det är användaren som ska få bestämma vad filen ska heta!

Medlem sedan feb. 200112 078 inlägg
#10

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.

Medlem sedan okt. 2002341 inlägg
#11

*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?

Medlem sedan dec. 19998 577 inlägg
#12

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.

Medlem sedan okt. 2002341 inlägg
#13

Okej...tack för tipset :birp

Medlem sedan aug. 20012 349 inlägg
#14

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.

Medlem sedan feb. 200112 078 inlägg
#15

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?

Medlem sedan dec. 19998 577 inlägg
#16

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.

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)