飘飘悠悠 发表于 2015-1-16 22:32:14

ASP教程之ASP检索网站指定目次文件的算法与使用方...

对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,在我们很多网站中存在如许一个成绩,就是链接的保护更新,这是一项事情量很年夜的事情,若不是的专门事情职员举行保护的年夜型网站,一般站点的站点更新保护事情基础上都成了一个很使人头疼的成绩,出格是在没有良多人手的情形下,要常常保护更新链接更是厌恶,由于这项事情没有几创意,却很耗时,而JACK明显不是那种喜好消费大批工夫在一件没创意的事变上的那种人,与是,JACK想出了一个ASP的程序原型,让它来完成我们所厌恶的事情吧!
如今我们假定你有如许一项网站保护义务,就是要把每月的经济批评分门别类地链接起来供人人检察,这些批评触及了经济运转的各个方面,大概有国际临盆总值的,有物价指数的,有产业开展情形的,而且它们有一个配合的特性,就是他们的文件名就代表了各自批评的内容,例:《XX市1999年国际临盆总值完成情形剖析》,在这么多符合的假定下(嘻,假定几近多过了萨缪尔森的经济学了!),我们偷赖的时机来了!我们只需把这些文件拷进批评这个目次响应的子目次,然后写一个ASP页面,它所完成的功效就是检索指定目次上面的文件,并检索了局做成可供点击的链接,那末我们应当怎样写呢?
很复杂,我们只需让ASP给出指定目次下的文件名汇合,并遍历这个汇合,把汇合的每一个元素做成响应的链接供人人选择就行啦!别的,若要在全体经济种别外调询一切含有某特性字符串的文件名的文件呢?小CASE啦!你只需把检索文件的函数放进到一个递回的目次检索函数中就行啦!(嘻,不要告知我你不会递回啊!)
如许,我们一样能够写出一个点歌体系(嘻,我喜好听MP3)把歌手做成目次名,把歌曲加上中文称号,统统就OK啦!想听带“爱”的歌?OK!打进爱字!你就可以找出一切带爱的歌了!(好比说:爱你爱到骨头里!嘻,排骨乐队!JACK主唱!)
别的,你加上扩大代码(删除指定文件的代码),若共同UPLOAD的ASP代码,你乃至能够写出一个远程的WEB保护体系呢!固然,这类事变JACK是不做的!ASP不敷完善,对二进制的文件读写力所不及!以是只能操纵文本文件,嘻嘻,好梦泡汤了?没关系,用VC啦!写ISAPI能做到呢!

上面的代码,因为正文很完全(JACK一下战书不上彀才写出来的呢!嘻,不知又有几MM在CHAT里等我等得肉痛了呢!),我就未几说了,请人人本人剖析啦!
<%
从FORM变量集失掉要查询的文件称号所要包括的字符串
data=request.form("search_data")
挪用函数查询方针查询目次下的一切子目次(一切子树)
函数挪用的划定规矩:search_folder(要查询的字符串,查询方针的假造相对路径,查询方针的实在相对路径)
p=search_folder(data,"http://jack/cgi-bin","c:websharewwwrootcgi-bin")
%>
<scriptlanguage="vbscript"RUNAT=SERVER>
目次检索函数
functionsearch_folder(search_data,v_path,c_path)
dimfile_system,cur_folder,sub_folders,sub_files
断定查询字符串无效非空
ifnotisempty(search_data)andlen(search_data)>0then
创建文件体系工具
setfile_system=createobject("scripting.filesystemobject")
创建创建以后目次工具
setcur_folder=file_system.getfolder(c_path)
创建以后目次的子目次工具汇合
setsub_folders=cur_folder.subfolders
对子目次汇合举行遍历
foreacheach_sub_folderinsub_folders
断定子目次的属性为一般子目次
ifeach_sub_folder.attributes=16then
失掉以后的子假造相对路径与实在相对路径
注:此程序默许子目次与子假造目次为统一级别且称号分歧.
sub_v_path=v_path&"/"&each_sub_folder.name
sub_c_path=c_path&""&each_sub_folder.name
挪用文件检索函数对以后子目次下的文件举行字符串婚配检索
p=search_file(search_data,sub_v_path,sub_c_path)
递回检索以后子目次的下一级目次
p=search_folder(search_data,sub_v_path,sub_c_path)
endif
next
扫除一切服务器端工具
seteach_sub_folder=nothing
setsub_folders=nothing
setcur_folder=nothing
setfile_system=nothing
endif
endfunction
********************************
文件婚配检索函数
functionsearch_file(search_data,v_path,c_path)
dimfile_system,sub_files,sub_file_v_path,sub_out_v_path
确认路径不为空
ifnotisempty(c_path)then
setfile_system=createobject("scripting.filesystemobject")
setcur_folder=file_system.getfolder(c_path)
创建检索目次下的文件工具汇合
setsub_files=cur_folder.files
遍历文件工具汇合
foreacheach_fileinsub_files
婚配字符串与文件名
ifinstr(each_file.name,search_data)0then
创建可用链接,输入婚配文件
sub_file_v_path=v_path&"/"&each_file.name
交换路径及文件名中大概呈现的空格,以便WEB能一般断定路径
sub_out_v_path=Replace(sub_file_v_path,"","%20")
response.write("<p><ahref="&sub_out_v_path&">"&sub_file_v_path&"</a>")
endif
next
setsub_out_v_path=nothing
setsub_file_v_path=nothing
seteach_file=nothing
setsub_files=nothing
setfile_system=nothing
endif
endfunction
</script>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。

分手快乐 发表于 2015-1-18 07:53:22

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

冷月葬花魂 发表于 2015-1-21 13:49:21

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

爱飞 发表于 2015-1-30 19:35:42

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

莫相离 发表于 2015-1-30 19:35:42

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

老尸 发表于 2015-2-6 15:20:02

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

蒙在股里 发表于 2015-2-16 21:13:40

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

简单生活 发表于 2015-3-5 09:42:13

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

灵魂腐蚀 发表于 2015-3-12 03:23:01

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

飘飘悠悠 发表于 2015-3-19 17:53:36

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
页: [1]
查看完整版本: ASP教程之ASP检索网站指定目次文件的算法与使用方...