Avatar billede hopir Novice
07. februar 2009 - 00:25 Der er 9 kommentarer og
1 løsning

skrive til flere tekstfiler på en gang fra forms

hey har kigget lidt på html og fundet sådan et eksempel her


<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/tutorials/asp/tekstfil.txt")
Set f = fso.OpenTextFile(filespec,2)

' Skriv tekst i en linie
f.Write Request.Form("tekstblok")

' Åbn filen til læsning og Læs linie for linie
Set f = fso.OpenTextFile(filespec,1)
Do While not f.AtEndOfStream
Response.write f.ReadLine & "<br>"
Loop
f.Close
%>


jeg har 3 formularer der hver især skal skrive til deres egen tekstfil, fx skal formularen "rejser" skrive dens input i tekstfilen "rejser1.txt" og så fremdeles skal de 2 andre formularer også skrive til deres egen tekstfil, så man til sidst bare trykker send og så er det tilføjet..

nogle der kan knække koden?
Avatar billede Slettet bruger
08. februar 2009 - 14:31 #1
Ja da...!

Men hvorfor vil du her også til sidst åbne filen igen for at se indholdet???

Her får du lige et script som laver tre tekstfiler:

<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil1.txt"))
f.write("Dette er tekstfil1")
f.close
set f=nothing

set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil2.txt"))
f.write("Dette er tekstfil2")
f.close
set f=nothing

set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil3.txt"))
f.write("Dette er tekstfil3")
f.close
set f=nothing
set fs=nothing
%>

- Så skal du bare indsætte det indhold som hver fil nu skal have som kommer fra din formular...

Endvidere skal filerne nok også have andre navne...

\Dan
Avatar billede hopir Novice
08. februar 2009 - 16:26 #2
det var bare et eksempel, så det med at vise indholdet bagefter det er ligemeget...

jeg har fået det til at virke perfekt, (:
men skal lige høre om det er muligt at uploade et billede samtidig til en mappe, og gemme filstien i en tekstfil og så sidenhen åbne billedet igen ved at noget asp læser filstien i den tekstfil som stien er gemt i.. :/
Avatar billede Slettet bruger
08. februar 2009 - 16:54 #3
Ja det er bestemt muligt!

- Men hvilket upload-komponent bruger du?

Jeg smider lige her et svar for point...

\Dan
Avatar billede hopir Novice
08. februar 2009 - 17:47 #4
yep første problem, jeg har intet upload component og vil helst undgå det, :/

vil du have point for det du har svaret på, og så opretter jeg et nyt spørgsmål?
Avatar billede hopir Novice
09. februar 2009 - 02:55 #5
upload af billedet er løst, men når jeg skriver til tekstfilerne så får jeg fejlen:

Technical Information (for support personnel)

Error Type:
Scripting.FileSystemObject.1 (0x800A003A)
File already exists.
/administrator/tilbud_1/tilbud_1_send.asp, line 4


Browser Type:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

Page:
POST 48 bytes to /administrator/tilbud_1/tilbud_1_send.asp

POST Data:
salgstekst=Salgstekst&frakun=Fra%2FKun&pris=Pris

det er kun nogle gange jeg kan få den til at overskrive filerne...
Avatar billede Slettet bruger
08. februar 2009 - 21:38 #6
OK! Og ja tak! Jeg mener jeg skal have point for at være kommet med et løsningsforslag på dit spørgsmål om tekstfiler...

Det bliver lidt svært i asp at uploade noget uden et komponent til dette... Det kommer ikke til at fungere ordenligt...

\Dan
Avatar billede Slettet bruger
09. februar 2009 - 21:55 #7
ok... så ville det nemmeste være bare at sikre sig at filen så slettes inden...

sådan her:


<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil1.txt"))=True then
fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil1.txt"))
end if
if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil2.txt"))=True then
fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil2.txt"))
end if
if fs.FileExists(Server.Mappath("/tutorials/asp/tekstfil3.txt"))=True then
fs.DeleteFile(Server.Mappath("/tutorials/asp/tekstfil3.txt"))
end if
set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil1.txt"))
f.write("Dette er tekstfil1")
f.close
set f=nothing
set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil2.txt"))
f.write("Dette er tekstfil2")
f.close
set f=nothing
set f=fs.CreateTextFile(Server.Mappath("/tutorials/asp/tekstfil3.txt"))
f.write("Dette er tekstfil3")
f.close
set f=nothing
set fs=nothing
%>


Her slettes alle tre filer inden der skrives noget... Filerne slettes selvfølgelig kun hvis de er der..

\Dan
Avatar billede hopir Novice
10. februar 2009 - 01:24 #8
Rigtig mange gange tak for hjælpen, det virker perfekt, der er ingen fejl kommet...

Nu da du har kommet med 2 løsningsforslag burde du så ikke ha dobbeltpoint?
Avatar billede Slettet bruger
10. februar 2009 - 18:31 #9
OK!

Det var da godt det virker...

Jeg behøver ikke flere point en de 30 du har udloddet... Men kan du ikke acceptere mit svar sådan at jeg rent faktisk har pointene...?

\Dan
Avatar billede hopir Novice
11. februar 2009 - 00:10 #10
jo, selfølgelig og takker endnu engang
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester