ASP讀取ini文件的實現方法

INI是微軟Windows操作系統中的文件擴展名。這些字母表示初始化。正如該術語所表示的,INI文件被用來對操作系統或特定程序初始化或進行參數設置。ini文件可以存儲很多數據,用來配置應用軟件以實現不同用戶的要求,那如何用ASP來讀取ini文件呢?聚友提供一段代碼,可以通過這段代碼來實現讀取ini文件,代碼如下:
<%  
  set   IniFileDictionary   =   CreateObject("Scripting.Dictionary")  
   
  Sub   IniFileLoad(ByVal   FilSpc)  
      IniFileDictionary.RemoveAll  
      FilSpc   =   lcase(FilSpc)  
      if   left(FilSpc,   1)   =   "p"   then  
          'Physical   path  
          PhyPth   =   mid(FilSpc,   instr(FilSpc,   "=")   +   1)  
      else  
          'Virtual   path  
          PhyPth   =   Server.MapPath(mid(FilSpc,   instr(FilSpc,   "=")   +   1))  
      end   if  
   
      set   FilSys   =   CreateObject("Scripting.FileSystemObject")  
      set   IniFil   =   FilSys.OpenTextFile(PhyPth,   1)  
      do   while   not   IniFil.AtEndOfStream  
          StrBuf   =   IniFil.ReadLine  
          if   StrBuf   <>   ""   then  
              'There   is   data   on   this   line  
              if   left(StrBuf,   1)   <>   ";"   then  
                  'It's   not   a   comment  
                  if   left(StrBuf,   1)   =   "["   then  
                      'It's   a   section   header  
                      HdrBuf   =   mid(StrBuf,   2,   len(StrBuf)   -   2)  
                  else  
                      'It's   a   value  
                      StrPtr   =   instr(StrBuf,   "=")  
                      AltBuf   =   lcase(HdrBuf   &   "|"   &   left(StrBuf,   StrPtr   -   1))  
                      do   while   IniFileDictionary.Exists(AltBuf)  
                          AltBuf   =   AltBuf   &   "_"  
                      loop  
                      IniFileDictionary.Add   AltBuf,   mid(StrBuf,   StrPtr   +   1)  
                  end   if  
              end   if  
          end   if  
      loop  
      IniFil.Close  
      set   IniFil   =   nothing  
      set   FilSys   =   nothing  
  End   Sub  
   
  Function   IniFileValue(ByVal   ValSpc)  
      dim   ifarray  
      StrPtr   =   instr(ValSpc,   "|")  
      ValSpc   =   lcase(ValSpc)  
      if   StrPtr   =   0   then  
          'They   want   the   whole   section  
          StrBuf   =   ""  
          StrPtr   =   len(ValSpc)   +   1  
          ValSpc   =   ValSpc   +   "|"  
          ifarray   =   IniFileDictionary.Keys  
          for   i   =   0   to   IniFileDictionary.Count   -   1  
              if   left(ifarray(i),   StrPtr)   =   ValSpc   then  
                  'This   is   from   the   section  
                  if   StrBuf   <>   ""   then  
                      StrBuf   =   StrBuf   &   "~"  
                  end   if  
                  StrBuf   =   StrBuf   &   ifarray(i)   &   "="   &   IniFileDictionary(ifarray(i))  
              end   if  
          next  
      else  
          'They   want   a   specific   value  
          StrBuf   =   IniFileDictionary(ValSpc)  
      end   if  
      IniFileValue   =   StrBuf  
  End   Function  
  %>
將上面的代碼保存爲inifile.asp,用如下樣子的代碼來讀取ini,
<!--#include file="inifile.asp"--> 
<%
call IniFileLoad("test.ini")
' 設定包含文件的存放路徑
StrBuf = IniFileValue("OEMFiles|OEMDriverFile1")
response.write strbuf & now()
%>

發佈了120 篇原創文章 · 獲贊 11 · 訪問量 90萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章