Avatar billede martin_dalgaard Nybegynder
03. august 2005 - 22:59 Der er 4 kommentarer og
1 løsning

Path proplem, virtual path.

ok jeg har et problem med en txt fil som skal læses, dette script dur når at filen ligger i en mappe over den, men ikke sådan her.
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("login.mdb")
Conn.Open DSN


strSQL = "Select * from forum where emne = '" & post & "' "

Set rs = Conn.Execute(strSQL)

file = rs("file")
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.MapPath("d:/web/localuser/dragonsandslayers.dk/******/"&rs("file"))
'MEN DET DUR MED SÅDAN HER. Server.MapPath("****/"&rs("file"))
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream
  Response.write "<p>" & rs("navn") &": " & f.ReadLine & "</p>"
Loop

f.Close

Conn.Close
Set Conn = Nothing
%>
Fejl medelsen på min side bliver udskrevet sådan her, Server.MapPath() error 'ASP 0172 : 80004005'

Invalid Path

/un/showtopic.asp, line 43

The Path parameter for the MapPath method must be a virtual path. A physical path was used.
Jeg kan simpelthen ikke finde hovde og hale, har prøvet med GetAbsolutePathName men ak nej duer ikke.
Er der venligt nogle som vil hjælpe mig...
Mange tak, Martin Dalgaard
Avatar billede driis Nybegynder
03. august 2005 - 23:09 #1
Det er fordi MapPath tager udgangspunkt i det dir, hvor filen køres, og prøver at mappe det til en sti på serveren.

Hvis du alligevel kender den fulde fysiske sti, behøver du ikke MapPath, så skriver du bare:
filespec = "d:/web/localuser/dragonsandslayers.dk/******/"&rs("file")
Avatar billede softspot Forsker
03. august 2005 - 23:24 #2
driis >> Næh, den tager udgangspunkt i webapplikationens katalog (men det var måske også det du mente?).
Avatar billede softspot Forsker
03. august 2005 - 23:25 #3
driis >> Undskyld! Du har naturligvis ret!
Avatar billede ksoren Nybegynder
03. august 2005 - 23:45 #4
I har jo egentlig begge to ret :o

http://www.microsoft.com/windows2000/en/server/iis/htm/asp/vbob98iw.htm

Path
Specifies the relative or virtual path to map to a physical directory. If Path starts with either a forward (/) or backward slash (\), the MapPath method returns a path as if Path is a full virtual path. If Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the .asp file being processed.
Avatar billede martin_dalgaard Nybegynder
04. august 2005 - 10:10 #5
1000 tak.. det hjalp, men nu hvor jeg har fundet sådan en asp ekspert, kan du så ikke lige fortælle mig hvad problemet er i dette oprettelses script, det giver ingen fejl medelser, men ingen txt filr bliver oprettet..

<%
dim filesys, filetxt, getname, path
Set filesys = CreateObject("Scripting.FileSystemObject")
Set filetxt = filesys.CreateTextFile("d:/web/localuser/dragonsandslayers.dk/******/"&strdate , True)
path = filesys.GetAbsolutePathName("d:/web/localuser/dragonsandslayers.dk/*****/"&strdate)
getname = filesys.GetFileName(path)
filetxt.WriteLine(post)
filetxt.Close
If filesys.FileExists(path) Then
  Response.Write ("<b>Your file, '" & getname & "', Post has been created.</b>")
End If
%>
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