webForumDet fria alternativet

hämta 10 senaste raderna i en txt fil och skriv ut

ASP

9 svar · 243 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej

Hur gör man för att en sida ska hämta de 10 senaste raderna från en loggfil (mirclogg) och skriva ut dem och sedan uppdatera sidan var tionde sekund och se om det har skrivits något nytt?

Vill även kunna designa sidan och måste ha det i asp. :)

Medlem sedan jan. 20032 285 inlägg
#2
<meta http-equiv="refresh" content="10">
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile("loggfilen.txt",1)

For i = 1 To 10
  Response.Write(objTS.ReadLine)
Next

objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
Medlem sedan juni 20015 009 inlägg
#3

Mysko. Jag får bara felmeddelande om att den inte hittar filen. Ändå ligger scriptet i rooten samt txt filen ?

Medlem sedan jan. 20032 285 inlägg
#4
<meta http-equiv="refresh" content="10">
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("loggfilen.txt"),1)

For i = 1 To 10
  Response.Write(objTS.ReadLine)
Next

objTS.Close
Set objTS = Nothing
Set objFSO = Nothing
%>
Medlem sedan juni 20015 009 inlägg
#5

Sen hur gör man för att det ska bli de tio sista raderna och inte de första? och så att de kommer på varsin rad?

Medlem sedan jan. 20032 285 inlägg
#6
<meta http-equiv="refresh" content="10">
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("loggfilen.txt"),1)

arrFil = Split(objTS.ReadAll,vbCrLf)

For i = UBound(arrFil) To (UBound(arrFil) - 10) Step -1
  Response.Write(arrFil(i) & "<br>" & vbCrLf)
Next

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

Kanske det funkar? Har inte kunnat testa dock.

Medlem sedan juni 20015 009 inlägg
#7

Hepp tack för hjälpen.
Funkar fint nu.
http://qimen.mine.nu/test.asp

Medlem sedan jan. 20032 285 inlägg
#8

Är det någon wF kanal du är inne i eller? :)

Medlem sedan juni 20015 009 inlägg
#9

Jepp på #webforum @ Dalnet

Medlem sedan jan. 20032 285 inlägg
#10
<meta http-equiv="refresh" content="10">
<%
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath("loggfilen.txt"),1)

arrFil = Split(objTS.ReadAll,vbCrLf)

For i = UBound(arrFil) To (UBound(arrFil) - 10) Step -1
  strFil = strFil & arrFil(i) & "<br>" & vbCrLf
Next

objTS.Close
Set objTS = Nothing
Set objFSO = Nothing

Set objRE = New Regexp
objRE.Global = True
objRE.IgnoreCase = True
objRE.Pattern = "http:\/\/(^\.*).(\S*)"
strFilReplace = objRE.Replace(strFil,"<a href=""http://$1.$2"" target=""_blank"">[url]http://[/url]$1.$2</a>")
Set objRE = Nothing

Response.Write(strFilReplace)
%>

Gör för säkerhetens skull en säkerhetskopia av det gamla scriptet innan du testar det här :)

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)