⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 自动化网页.txt

📁 用纯ASP代码实现图片上传并存入数据库中
💻 TXT
字号:

请支持我们站点以网养网,点击我们的广告,谢谢大家!  


蜘蛛过来,用FileSystemObject自动化Web内容的发布    


--------------------------------------------------------------------------------

 【天啦】 于 00-4-26 21:15:07 加贴在 Joy ASP ↑:



   ASP脚本语言中的FileSystemObject是一个较少被注意到却又非常有用的对象。该对象允许Web应用程序访问计算机的文件系统,提供用于打开、创建、读取、写入文件的方法。 

   Web应用程序可以基于许多不同的理由产生访问文件系统的需求。而本文讨论的是用它来分离Web内容与它的布局。这种类型的内容管理具有以下优点: 

不需要为加入新页面改动主题模板。 
可以快速地增加新内容。 
通常可以在一个页面内修改导航链接、布局和图片,而不是在多个页面中。这使得维护工作更为容易。 
   也许你会说“为什么不直接使用服务器端的包含文件?”回答是,使用包含文件确实可以实现类似目标。我们可以将那些公用的HTML或脚本代码保存为独立的文件,然后用包含命令引用它们。这种方法特别适合于将网站上经常改动的、公用的页面元素加入到每个页面中,但它要求存在用来包含的物理页面。我们希望达到的效果是一个更为“高级的”模板,一个按照浏览者要求改变内容的独立页面。 

   下图阐述了它的工作原理: 

   【图 ASPFileSystemObject.gif】 



   这里的Index.asp就是一个模板,它提供了所有内容的公用元素,同时也包含用来显示其它内容页面的代码。指向Index.asp的链接可以用一个查询字符串来标识要求显示的内容页面。 

   模板页面也可以看成是一个容器,它根据用户的请求调用其它页面。下面是模板页面的一个示例: 

 < % @ Language="VBScript" %>
 < html>
 < body>
 < table width="650" cellpadding="0" cellspacing=0 border="0">
 < tr>
  < !-- 导航条 -->
  < td bgcolor="#c0c0c0" width="110" valign="top" nowrap>
   < a href="/index.asp">
    主页
   < /a>< br>
   < a href="/index.asp?target=/content/page1.txt">
    页面1
   < /a>< br>
   < a href="/index.asp?target=/content/page2.txt">
    页面2
   < /a>< br>
   < a href="/index.asp?target=/content/page3.txt">
    页面3
   < /a>< br>
  < /td>
  < td align="left" valign="top">
   < br>
   < %
   page = Request.QueryString("target")
   If page = "" Then %>
   < p>
   这是缺省页面内容。这些内容嵌入于Index.asp,但也可以作为普通的内容页面提供。
   < /p>
   < %
   Else
    GetThePage(page)
   End If
   %>
  < /td>
 < /tr>
 < /table>
 < /body>
 < /html>
 
 < %
 Function GetThePage(page)
  Dim file, textStream
 
  ' 获得内容文件路径
  page = Server.Mappath(page)
  ' 创建FileSystemObject对象,打开文件
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  Set file = fso.OpenTextFile(page, 1)
 
  ' 从文件读取文本
  ' 然后写入HTML流
  Do While file.AtEndOfStream <> True
   textStream = file.ReadLine
   Response.Write textStream
  Loop
  
  ' 关闭文件并释放资源
  file.Close()
  Set file = Nothing
 End Function
 %>

   GetThePage()是完成内容页面显示的关键函数。对该函数的调用是有条件的:如果QueryString("target")为空,则Index.asp显示的是缺省的内容页面。 

   下面我们来看看GetThePage()函数的工作过程。也许你会怀疑这个函数中代码Server.Mappath(page)的作用。请将这个语句注释掉然后再打开任意一个内容页面,可以发现CreateObject不能成功执行了。用page变量(它包含了文本文件路径的一部分)调用Mappath的作用是将虚拟路径或相对路径映射为对应的物理路径,从而使得我们可以在仅知道文件在Web服务器上的位置(而不知道完整的UNC路径)时访问文件。下面这一行: 

   Set file = fso.OpenTextFile( page, 1 ) 

   是用转换后的page变量调用OpenTextFile方法,其中参数1表示只读。函数接下来按行读取文本文件内容。一般地讲,这种读取方法便于分析文本的内容。不过这里并没有利用这一点,而是立即将文本行输出到HTML流了。当然,我们也可以将页面缓冲然后一次性发送。 

   这种模板自动化具有以下几个明显的优点: 

模板分离了内容与内容的表现。 
维护更为容易,所有的链接均位于同一页面之中。 
修改模板页面将立即影响所有由它所引用的内容页面的显示。 
对于具有大量类似页面的Web站点来说,模板自动化简化了内容的管理。 
   当然,这种方法也存在不少缺点:HTML合法性检验将变得非常困难,运行链接分析器时很容易出现无限循环。模板自动化不太适合于已有的Web站点,因为内容必须保存为文本文件。 

   然而,我们相信在很多时候模板自动化的优点远远大于其缺点。只要在计划和测试时略加注意,模板自动化就有可能成为那些高容量Web站点的有效工具。





--------------------------------------------------------------------------------

贴子转发:

 
E-mail地址:


--------------------------------------------------------------------------------

相关主题:


 蜘蛛过来,用FileSystemObject自动化Web内容的发布  - 【天啦】 00-4-26 21:15:07 [ID:228775 点击:13] (3942 Bytes) (0) 


--------------------------------------------------------------------------------

回复:

    
版 面:Joy ASP ↑  *为必填项目 第一次发言请去注册>> 怎样使用UBBCode>> UBB Code Editor>> NEW!
姓 名:* 密码: * 密码遗忘请点这里>>
Email:
主 题:*

表 情:
             
             

内 容(最多16KB) 使用签名 设置签名>>   


链接地址: 
链接标题: 
链接图片: 

 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -