从文件读取和写入数组

时间:2015-08-24 06:31:30

标签: arrays session vbscript asp-classic

我有一个类在磁盘上创建会话文件,并在冒号分隔的字段内写入。

<%
Class MySession
  Private  session_key, stream

  Private Sub Class_Initialize
    set stream = createobject("adodb.stream")
    session_key = request.cookies("sessionkey")
    if len(session_key) = 0 then
      CreateSession()
    end if
  End Sub

  ' read from session file
  Public Property Get val()
    on error resume next
    val = ""
    stream.open
    stream.loadfromfile "d:\" & session_key
    val = stream.readtext
    stream.close
  End Property

  ' write session to file
  Public Property Let val(userval)
    on error resume next
    stream.open
    stream.writetext mycstr(userval)
    for err11 = 0 to 50
      stream.savetofile "d:\" & session_key, 2
      if Err.Number = 0 then exit for
      Err.Clear
    next
    stream.close
  End Property
End Class
%>

现在填写我做的会话文件

Set SessionID = new MySession
FillArr = FillArr & Request.cookies("sessionkey") & ":" & now()+1
For Row = 0 to Ubound(arrRst,1)
  FillArr = FillArr & ":" & arrRst(Row, 0)
Next            
SessionID.val() = FillArr

要读取会话文件中的所有数据,请使用

AllData = sessionID.val()

现在我需要在此文件中添加其他字段。 问题是:

  1. 如何检查文件中是否已存在此字段?
  2. 如何仅更新文件中的此字段?
  3. 所以我认为使用可以通过它命名的数组是很好的。

    在会话文件中,我需要将数据写成:

    {"sessionkey":"3yut267d273";"session_exp":"51453463";"username":"Alex"}
    

    我认为必须从文件中获取所需的内容:

    AllData = sessionID.val("username")
    

    所以帮我写一个正确的语法来做到这一点:

    1. 如何将数组写入文件?
    2. 如何从文件中仅调用所需的数组元素?
    3. 如何仅更改文件中所需的(或多个指定字段)数组元素,如果它不存在则创建它?

0 个答案:

没有答案