• 締切済み

月別アクセスカウンター

宜しくお願いします。m(__)m あるaspファイルにアクセスするとテキストファイルがはきだされ、カウントをとりたいのですがうまくいかないのです。 (書き出すファイル内では下記のような日付とアクセスカウントがカンマ区切りで記述されて月ごとに改行され保存したいのです。) 以下はき出されるテキストイメージ ------------------------- 2002/7,552 2002/8,871 2002/9,326 . . ------------------------- 現在制作したソースは以下のようになっていまして ここ3日ばかり試行錯誤しているのですが どうしてもうまくいかないのです。 ご教授宜しくお願いいたします。 -----以下ソースです------- <% Set objFile = Server.CreateObject("Scripting.FileSystemObject") sPathCountFile = Server.MapPath("count.txt") On Error Resume Next Set strmFile = objFile.OpenTextFile(sPathCountFile, 1, FALSE) If Err.Number > 0 Then cntonly01 = 0 cntonly02 = 0 Else cntonly = strmFile.ReadLine cnt_sum = split(cntonly,",") cntonly01 = cnt_sum(0) cntonly02 = cnt_sum(1) cntonly02 = cntonly02 + 1 strmFile.Close Set strmFile = objFile.OpenTextFile(sPathCountFile, 2, TRUE) strmFile.WriteLine cntonly01 & "," & cntonly02 strmFile.Close End If Dim tuki tuki=Left(dtOld,7) If tuki <> Month() then Set strmFile = objFile.OpenTextFile(sPathCountFile, 8, TRUE) strmFile.WriteLine cntonly01 & "," & cntonly02 cntonly = 0 strmFile.Close End If %>

みんなの回答

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.1

morpheusさんのソースを元に、望む結果(?)を出すソースに改造してみました。 違ってたらすいません。これを元に参考になれば幸いです。 少しソースは、汚いですが解析してみてください。ではでは。 '********** ここから ********** <% '月別カウンタ Dim sCounterData Dim sPathCountFile Dim cntonly Dim cntonlys() Dim cnt Dim cnt_sum Dim cntonly01 Dim cntonly02 Dim sNowDate Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set objFile = Server.CreateObject("Scripting.FileSystemObject") sCounterData = "count.txt" sPathCountFile = Server.MapPath("./") & sCounterData sNowDate = Year(DATE) & "/" & Month(DATE) If objFile.FileExists(sPathCountFile) = FALSE Then   cntonly01 = sNowDate   cntonly02 = 1   Set strmWFile = objFile.OpenTextFile(sPathCountFile, ForWriting, TRUE)   strmWFile.WriteLine cntonly01 & "," & cntonly02 Else   Set strmRFile = objFile.OpenTextFile(sPathCountFile, ForReading, FALSE)   cnt = 0   Do Until strmRFile.AtEndOfStream     ReDim Preserve cntonlys(cnt)     cntonlys(cnt) = strmRFile.ReadLine     cnt = cnt + 1   Loop   cnt_sum = split(cntonlys(cnt - 1),",")   cntonly01 = cnt_sum(0)   strmRFile.Close   Set strmRFile = NOTHING   If cntonly01 = Year(DATE) & "/" & Month(DATE) then     cntonly02 = cnt_sum(1)     cntonly02 = cntonly02 + 1     Set strmWFile = objFile.OpenTextFile(sPathCountFile, ForWriting, TRUE)     If cnt > 0 Then       For cnt = 0 To UBound(cntonlys) - 1         strmWFile.WriteLine cntonlys(cnt)       Next     End If     strmWFile.WriteLine cntonly01 & "," & cntonly02   Else     cntonly01 = sNowDate     cntonly02 = 1     Set strmWFile = objFile.OpenTextFile(sPathCountFile, ForAppending, TRUE)     strmWFile.WriteLine cntonly01 & "," & cntonly02   End If   strmWFile.Close End If Set strmWFile = NOTHING Set objFile = NOTHING %> '********** ここまで **********

morpheus
質問者

お礼

ありがとうございます。 早速ためしてみます。 ASPをはじめてまもないので 解析に時間がかかるとおもいますので まずはお礼とおもい投稿させていただきました。 有難うございました。m(__)m

すると、全ての回答が全文表示されます。

関連するQ&A