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

引用通告: 我要引用此文章
Tags: ASP  
相关日志:
  • 聚友农历转公历类发布  (2009-9-23 15:1:1)
  • ASP程序中调用Now()总显示“上午”和“下午”的解决办法  (2009-2-13 21:57:0)
  • 图形验证码无法显示的解决办法  (2008-12-19 9:0:51)
  • Adodb.Stream说明及用法实例  (2008-12-19 8:43:38)
  • 错误 '80070070' 的原因  (2008-8-2 9:46:33)
  • 'ASP 0177 : 80029c4a' 错误解决办法  (2008-6-12 14:45:44)
  • AspHTTP简要介绍  (2008-5-18 7:40:15)
  • 评论: 1 | 引用: 0 | 查看次数:
    回复 sf.01qd.com [2010-1-28 19:13:02]
    恩,终于了解了,谢谢!
    发表评论
    昵 称:
    邮 箱:
    主 页:
    验证码:
    内 容: