ASP读取ini文件的实现方法

来源:互联网 时间:1970-01-01

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()
%>

相关阅读:
Top