webForumDet fria alternativet

Hämta text från ett txt doc

ASP

13 svar · 658 visningar · startad av Jacek

Medlem sedan apr. 2000169 inlägg
Frågan#1

Jag hittade en kod på webeye.com om hur man hämtar en text från ett txt doc. Fick det aldrig att funka och i hans script har han skrivit fso.OpenTextFile("c:\test.txt", ForReading). Jag misstänker att scriptet han gjort kanske bara funkar för att läsa ur txt filer på datorn. Mina txt filer ligger på internet. Hur skall ett sånt script se ut. Så här ser hela webeye.com scriptet ut:

<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fil = fso.OpenTextFile("c:\test.txt", ForReading)

'***** Läser allt vad textfilen innehåller *****
S = fil.ReadAll

Response.write "Filen innehåller: '" & S & "'"

fil.close
%>

Medlem sedan jan. 20032 285 inlägg
#2

För det första behöver man inte placera ReadAll i en variabel.

<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForReading)

objTS.ReadAll

objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>

Om filen ligger i en mapp skriver du:
Set objTS = objFSO.OpenTextFile(Server.MapPath("mapp/text.txt"), ForReading)
eller, om det ligger i rooten och den aktuella filen ligger i en mapp:
Set objTS = objFSO.OpenTextFile(Server.MapPath("/text.txt"), ForReading)
Ja, du förstår väl? :p

Medlem sedan apr. 2000169 inlägg
#3

Testade ditt script men får detta fel:

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument

/datum.asp, line 15

Kan det vara så att b-one (mitt webbhotell) inte stödjer den typ av script?

Medlem sedan mars 2003970 inlägg
#4

testa med localhost om det funkar där.
Förutsatt att du har PWS eller IIS eller något sånt.

Medlem sedan jan. 20032 285 inlägg
#5

Vilken rad är rad 15?

Medlem sedan mars 2003970 inlägg
#6

du får ta hand om det här sebbe, :r
Jag kan ASP på ett ungefär, men skulle knappast kunna hitta problemet i detta :birp ;)
Lycka till båda två.

Medlem sedan apr. 2000169 inlägg
#7

Detta är rad 15

Set objTS = objFSO.OpenTextFile(Server.MapPath("text.txt"), ForReading)

Medlem sedan apr. 2000169 inlägg
#8

Mitt script ser nu ut så här:

<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("textfiler/JAN1.TXT"), ForReading)

objTS.ReadAll

objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>

och det scriptet ligger i historia.asp som ligger i rooten på www.tyrsen.com. Deta meas ju att den borde öppna denna txt fil: http://www.tyrsen.com/textfiler/JAN1.TXT

Medlem sedan sep. 2002538 inlägg
#9

B-one kör väl linux med ChiliSoft som asp-motor finns verkligen FSO med i Chilisofts asp-motor?

Medlem sedan juni 200032 967 inlägg
#10

Re: Hämta text från ett txt doc

Jacek skrev:

Jag misstänker att scriptet han gjort kanske bara funkar för att läsa ur txt filer på datorn. Mina txt filer ligger på internet.

Ja, det stämmer. Du använder Filesystem object, och därmed läser du filer på lokal disk.

För att hämta filer ute på Internet kan du använda Microsofts XML Parser och metoden ServerXMLHTTP / XMLHTTP.

Mvh,

Medlem sedan mars 20015 287 inlägg
#11

Hummelihum... jag håller inte riktigt med här.

Deklarerar du ForReading någonstans?
Ändra annars till detta:

Set objTS = objFSO.OpenTextFile(Server.MapPath("textfiler/JAN1.TXT"), 1)
Medlem sedan juni 200032 967 inlägg
#12

solbulle, vad håller du inte med om?

Medlem sedan mars 20015 287 inlägg
#13

Till att börja med koden i sig. (ForReading)
Men sen även skriver han:

och det scriptet ligger i historia.asp som ligger i rooten på www.tyrsen.com. Deta meas ju att den borde öppna denna txt fil: http://www.tyrsen.com/textfiler/JAN1.TXT

Då är han ju på sin server!?!

Däremot om det handlar om Apache eller vad det nu var, då kanske det är kört? Det vet jag ej.

Medlem sedan juni 200032 967 inlägg
#14

Om det är mig du menar att du inte håller med så ber jag att få understryka att jag endast svarade på den av mig citerade frågan, inget annat.

Möjligen kan det vara så att jag missförstod frågan, men jag tolkade originalinlägget som att Jacek ville läsa textfiler från en annan server.

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)