分享
 
 
 

文件访问

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

ASP 包 含 五 个 内 置 的ActiveX 服 务 器 组 件, 即: 文 件 访 问 组 件(File Access Component)、 广 告 轮 播 器 组 件(Ad Rotator Component)、 浏 览 器 信 息 组 件(Browser Capabilities Component)、 内容 链 接 组 件 (Content Linking Component)、 数 据 库 访 问 组 件Database Access Component)。 这 五 个 内 置 组 件 在 制 作 网 页 过 程中 非 常 有 用, 下 面 分 别 举 例 说 明 如 何 使 用 这 几 个 内 置 组件 解 决 网 页 开 发 过 程 中 经 常 遇 到 的 一 些 问 题。

1. 文 件 访 问 组 件

文 件 访 问 组 件 提 供 了 读 写 服 务 器 文 件 的 功 能, 使 用 这一 组 件 可 以 轻 松 实 现 页 面 中 一 些 常 见 应 用, 如 访 客 计 数器 和 每 次 装 入 主 页 时 给 出 一 个 不 同 的 提 示 或 座 右 铭 等 应用 都 可 以 用 此ActiveX 服 务 器 组 件 设 计 出 来。

访 客 计 数 器 几 乎 是 每 个 站 点 的 主 页 都 要 实 现 的 一 个 应 用, 它 可 以 记 录 页 面 被 访 问 的 次 数。 每 当 有 人 浏 览 此 页, 它 将 自 动 把 计 数 器 加 一 并 显 示 于 页 面 上。Internet 站 点上 大 部 分 的 访 客 计 数 器 都 是 用CGI 程 序 所 实 现 的, 现 在 我们 采 用 文 件 访 问 组 件 来 实 现 它。

实 现 此 应 用 的 源 代 码 如 下:

< %

CounterFile=Server.MapPath(“counter.txt")

Set FileObj=Server.CreateObject(“Scripting.FileSystemObject")

Set Out=FileObj.OpenTextFile(CounterFile,1,False,False)

Counter=Out.ReadLine

Set Out=FileObj.CreateTextFile(CounterFile,True,False)

Application.lock

Counter=Counter +1

Out.Write(Counter)

Application.unlock

Out.Close

% >

欢 迎 ! 您 是 访 问 本 站 点 的

第< %= Counter % > 位 客 人 !

页 面 开 发 人 员 首 先 需 要 建 立 一 个 counter.txt 的 文 本 文 件, 并 赋 予 初 值 为0, 此 文 件 负 责 保 存 访 问 页 面 的 次 数。 在ASP 脚 本 代 码 中 生 成FileSystemObject 对 象, 以 实 现 对 服务 器 文 件 的 操 作。 通 过 此 对 象 读 取counter.txt 文 件 保 存 的 数 值 并 加1, 使 用“Application.lock” 方 法 禁 止 别 人 同 时 改 写记 数 文 件, 写 回 文 件 后 用“Application.unlock” 方 法 解 除, 最后 显 示 新 值 于 页 面 中。

这 种 纯 数 字 形 式 显 示 在 页 面 上 并 不 很 美 观, 开 发 人 员可 以 制 作 代 表0 ~9 数 字 的 图 片 来 美 化 页 面, 通 过 再 添 加 一 些ASP 脚 本 把 纯 数 字 用 相 应 的 图 片 来 代 替, 这 样 就 可 以开 发 出 各 具 特 色 的 计 数 器。

在Internet 某 些 站 点 上, 网 友 每 次 访 问 同 一 页 面 时, 此 页 面 会 提 供 给 访 问 者 不 同 的 提 示 或 座 右 铭, 使 回 头 客 不会 有 枯 燥 的 感 觉, 使 页 面 变 得 更 加 生 动 和 吸 引 人。 巧 妙 使 用 文 件 访 问 组 件 也 可 以 实 现 此 功 能。 源 代 码 如 下:

< %

Randomize

TipNo=Int(10 Rnd)

TipsFile=Server.MapPath(“tips.txt")

Set FileObj=Server.CreateObject

(“Scripting. FileSystemObject")

Set Out=FileObj.OpenTextFile(TipsFile,1,False,False)

While TipNo>0

Out.SkipLine()

TipNo=TipNo -1

wend

TipDay=Out.ReadLine

Response.Write“ 今 日 座 右 铭:" &TipDay

Out.Close

% >

在ASP 程 序 中 使 用“Int(10 Rnd)” 产 生 一 个 0 ~9 的 随 机 数, 以 随 机 读 取 保 存 于tips.txt 文 件 中 的 十 个 不 同 的 座 右 铭, 就 可 以 实 现 不 同 时 间 访 问 此 页 面 会 显 示 不 同 的 座 右 铭。

2. 广 告 轮 播 器 组 件

广 告 轮 播 器 组 件 提 供 了 广 告 轮 流 播 放 的 功 能, 它 可 以 使 广 告 图 片 轮 流 显 示 于 页 面 上, 并 可 设 定 各 广 告 图 片 出现 的 频 率 及 相 应 的 超 链 接。 实 现 此 功 能 的ad.asp 文 件 的 源代 码 如 下:

< %set ad=Server.CreateObject

(“MSWC. Adrotator") % >

< %=ad.GetAdvertisement(“show. txt") % >

广 告 轮 播 器 的 功 能 实 现 比 较 简 单, 完 成 此 复 杂 的 应 用只 要 两 行 程 序 即 可。 首 先 定 义 一 个Adrotator 的 对 象, 再 把 此 对 象 添 加 到 需 要 显 示 的 地 方。 实 现 此 应 用 还 需 要 两 个辅 助 文 件, 一 个 是 记 录 广 告 轮 播 相 关 信 息 的show.txt 文 件;另 一 个 是 用 于 处 理 链 接 到 相 应 页 面 的redirect.asp 文 件。

show.txt 文 件 的 内 容 为:

redirect redirect.asp

width 200

height 100

border 0

microsoft.gif

microsoft.htm

microsoft

50

sun.gif

sun.htm

sun

50

此 文 件 中 的 前 一 部 分 为 基 本 信 息, 包 括 指 向 处 理 文 件的 文 件 名, 设 定 图 片 的 宽 度、 高 度、 边 框 的 默 认 值。 后 一部 分 为 记 录 轮 流 显 示 图 片 的 文 件 名、 图 片 超 链 接 的HTML 页面 地 址、 代 替 的 文 字 和 广 告 图 片 出 现 的 概 率( 百 分 率)。

两 部 分 之 间 用“ ” 分 离。redirect.asp 文 件 的ASP 脚 本 代 码 为

< %Response.Redirect

(Request.QueryString(“url")) % >

它 获 得 图 片 超 链 接 的URL 地 址 并 链 接 到 不 同 的 网 址。 在此 文 件 中 也 可 以 添 加 更 多 的 脚 本 实 现 更 丰 富 的 功 能, 以满 足 用 户 的 不 同 需 要。

3. 浏 览 器 信 息 组 件

浏 览 器 信 息 组 件 提 供 获 取 浏 览 器 相 关 信 息 的 功 能。 开发 者 可 以 通 过 这 一 组 件 获 知 客 户 端 使 用 浏 览 器 的 版 本 及其 他 信 息, 根 据 用 户 使 用 不 同 的 浏 览 器, 提 供 给 他 们 不 同 的 页 面。

实 现 此 功 能 的 源 代 码 如 下:

< %

Set Type1=Server.CreateObject(“MSWC.BrowserType")

If Type1.Browser=“IE" Then

Response.Redirect(“IEversion.htm")

Else

Response.Redirect(“Others.htm")

End If

% >

客 户 端 的 脚 本 同 样 可 以 获 取 浏 览 器 的 相 关 信 息, 但 它与 用ASP 服 务 器 端 脚 本 所 实 现 的 功 能 有 所 不 同, 用ASP 编 写的 程 序 由Web 服 务 器 判 断 用 户 浏 览 器 的 类 型, 然 后 就 可 以直 接 提 交 给 用 户 不 同 的 页 面。

4 . 内 容 链 接 组 件

内 容 链 接 组 件 可 以 很 方 便 地 使 用 一 个 文 本 文 件 来 管 理 超 链 接、 上 一 页、 下 一 页 等 链 接 功 能。 几 行ASP 代 码 加 上一 个URL 表 的 文 本 文 件 即 可 管 理 链 接。 若 页 面 中 的 超 链 接有 所 变 动, 页 面 维 护 人 员 只 需 改 变 文 本 文 件 中URL 表 的 内容 即 可, 无 须 更 改 页 面 的 源 代 码。 这 对 站 点 的 内 容 及 超链 接 经 常 发 生 变 化 的 页 面 维 护 人 员 来 说 无 疑 是 一 个 福 音 它 能 大 大 减 少 页 面 维 护 人 员 的 工 作 量 和 出 错 概 率。

实 现 此 管 理 链 接 功 能 的 源 代 码 如 下:

< %

Set Link=Server.CreateObject(“MSWC.NextLink")

Count=Link.GetListCount(“link.txt")

I=1

% >

今 日 通 知:< br >

< ol >< ul >

< %Do While (I<=Count) % >

< li >< a href=“< %=Link.GetNthURL

(“link.txt",I) % >" >

< %=Link.GetNthDescription

(“link.txt",I) % >< /a >

< %I=I +1

Loop % >

< /ul >< /ol >

link.txt 文 本 文 件 的 内 容 为:

movie.asp 1. 今 日 影 讯

security. asp 2. 安 全 通 知

newyear. asp 3. 春 节 放 假 通 知

在 此 实 例 中 用“GetListCount” 获 得link.txt 文 件 中 记 录 的 条 目 个 数, 分 别 用“GetNthURL” 及“GetNthDescription” 方 法 取 得URL 地 址 和 说 明 并 在 页 面 上 显 示 出 全 部 内 容 和 超 链 接 的 信 息。 只 要 改 变link.txt 文 件 的 内 容 和 超 链 接, 页 面 显 示 的信 息 也 将 随 之 发 生 变 化。

实 现 上 一 页、 下 一 页 功 能 的 源 代 码 如 下:

< %Set Link=Server.CreateObject

(“MSWC.NextLink") % >

本 页 是:< %=Link.GetNthDescription

(“link.txt",Link.GetListIndex

(“link.txt")) % >< br >

上 一 页:< a href=“< %=Link.GetPreviousURL

(“link.txt") % >" >

< %=Link.GetPreviousDescription

(“link.txt") % >< /a >< br >

下 一 页:< a href=“< %=

Link.GetNextURL

(“link.txt") % >" >

< %=Link.GetNextDescription

(“link.txt") % >< /a >< br >

在 此 应 用 中, 使 用“GetPreviousURL” 和 “GetPreviousDescription” 取 得 上 一 页 的URL 地 址 和 说 明; 使 用 “GetNextURL” 和“GetNextDescription” 取 得 上 一 页 的URL 地 址 和 说明。 在 用 户 浏 览 此 网 页 时,ASP 脚 本 执 行 的 结 果 为: 上 一 页、 下 一 页 的 超 链 接 会 根 据link.txt 文 件 内 容 的 顺 序 链 接 到相 应 的 上、 下 页 面, 网 页 制 作 人 员 只 要 维 护 好link.txt 文 件中 页 面 的 地 址 和 说 明 以 及 前 后 顺 序 即 可。 这 个 组 件 的 实例 使 制 作 人 员 从 众 多 的 超 链 接 关 系 中 解 脱 出 来, 这 种 应用 无 疑 是 解 决 维 护 页 面 链 接 的 一 种 较 佳 方 案。

5. 数 据 库 访 问 组 件

使 用 数 据 库 访 问 组 件 中 的ADO(ActiveX Data Objects) 组 件 可以 提 供 访 问 数 据 库 的 功 能, 并 能 设 计 出 功 能 完 善 的Web 数据 库 的 应 用。 由 于 介 绍 和 使 用ADO 组 件 开 发 相 关 的 应 用 所占 的 篇 幅 较 多, 这 里 就 不 再 举 例 说 明 了。

以 上 作 者 所 提 供 的 实 例 都 经 过 实 际 的 运 行, 读 者 可 以直 接 移 植 到 页 面 中 使 用。 这 些 实 例 实 现 起 来 虽 很 简 单, 但 较 好 地 解 决 了 广 大 页 面 制 作 人 员 经 常 遇 到 的 一 些 问 题

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有