webForumDet fria alternativet

Skapa textfiler

ASPur ASP

15 svar · 343 visningar · startad av sudden

suddenMedlem sedan okt. 2002341 inlägg
#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

EitrazMedlem 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

suddenMedlem sedan okt. 2002341 inlägg
#3

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

EitrazMedlem 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

suddenMedlem 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

EitrazMedlem sedan sep. 2002366 inlägg
#6

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

-Eitraz

suddenMedlem sedan okt. 2002341 inlägg
#7

tror det

EitrazMedlem 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

suddenMedlem 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!

OveRRidEMedlem 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.

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

VideMedlem 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.

suddenMedlem sedan okt. 2002341 inlägg
#13

Okej...tack för tipset :birp

mrblondeMedlem 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.

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

VideMedlem 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.

132 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)