网络编程
位置:首页>> 网络编程>> Asp编程>> ASP读取ini文件

ASP读取ini文件

 来源:聚友 发布时间:2010-01-20 11:17:00 

标签:ini,asp,读取文件

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com