20. oktober 2005 - 12:54Der er
12 kommentarer og 1 løsning
Txt filer problem med Server.Mappath
Der er et eller andet galt har siddet og afprøvet alle mine teorier på hvad problemet kunne være i flere timer så nu kommer det til eksperterne.. Mit script :
<% Dim fso, f, filespec, strdate strdate = now Set fso = CreateObject("Scripting.FileSystemObject") filespec = Server.Mappath("event.txt") Set f = fso.OpenTextFile(filespec,2)
' Skriv tekst i en linie f.Write Request.Form("hvad") & " " & Request.Form("kl") & " " & Request.Form("mødes") & ":<a href=""tilmelding.asp?fi=""strdate"
f.Close
dim filesys, filetxt, getname, path Set filesys = CreateObject("Scripting.FileSystemObject") Set filetxt = Server.Mappath.CreateTextFile("tilmelding/"&strdate&".txt" , True) path = Server.Mappath.GetAbsolutePathName("tilmelding/"&strdate&".txt") getname = Server.Mappath.GetFileName(path) filetxt.WriteLine("") filetxt.Close If Server.Mappath.FileExists(path) Then Response.Write ("<b>Your file, '" & getname & "', Post has been created.</b>") End If
%>
Fejl meddelse. Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'Server.Mappath'
/un/newevent.asp, line 17 Mange tak på forhånd... Martin dalgaard
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg vil tro nogle (hvis ikke alle) af problemer bliver løst således:
<% Dim fso, f, filespec, strdate strdate = now Set fso = Server.CreateObject("Scripting.FileSystemObject") filespec = Server.Mappath("event.txt") Set f = fso.OpenTextFile(filespec,2)
' Skriv tekst i en linie f.Write Request.Form("hvad") & " " & Request.Form("kl") & " " & Request.Form("mødes") & ":<a href=""tilmelding.asp?fi=" & strdate & """>"
f.Close
dim filesys, filetxt, getname, path Set filesys = Server.CreateObject("Scripting.FileSystemObject") Set filetxt = filesys.CreateTextFile("tilmelding/"&strdate&".txt" , True) path = filesys.GetAbsolutePathName("tilmelding/"&strdate&".txt") getname = filesys.GetFileName(path) filetxt.WriteLine "" filetxt.Close If filesys.FileExists(path) Then Response.Write "<b>Your file, '" & getname & "', Post has been created.</b>" End If
Hej softspot. Mange tak for din kommentar, og din ide fjernede ganske vist også den fejl meddelse men en ny kom frem.. Microsoft VBScript runtime error '800a0034'
Ok, så er det nok fordi der er ulovlige tegn i strDate, altså tegn som ikke må forekomme i et filnavn (f.eks. skråstreg eller kolon). Prøv at teste dette, eller bare lav en replace på disse tegn inden du bruger strdate i filnavnet.
Du skal i øvrigt også lave Server.MapPath på det filnavn, hvis det skal ligge under websitet. Hvis du ikke gør det vil jeg gætte på at filen kommer til at ligge et eller andet sted under Windows-folderen (hvorfra iis bliver aktiveret).
Eksempelvis:
Set filetxt = filesys.CreateTextFile(Server.MapPath("tilmelding/"&replace(replace(strdate,"/","-"),":",".")&".txt" , True)
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.