一般的传递ID值的新闻系统见得比较多,制作起来也不是很复杂。 但是我们在新浪或是其它的门户类网站看到到的新闻不是用ID传递的,而是一个HTML或是Shtml文件,难道手工加上去的吗?当然不是了,其实这用到的是ASP中的FileSystemObject对象的方法。 接着往下说说如何实现这一功能。 首先考虑文件名的格式及文件的存放路径。 路径可以这样假设: 存放的路径:如果把所有的HTML文件或是所有的SHTML文件都放在同一目录下,当同时访问的人增多以后,势必会影响服务器正常的运行,所以明智的方法就是把这些文件按加入的日期进行分类。 文件名的格式: 为了避免出现重名的文件,一般的命名规则是当天的日期+时间+随机数+后缀名。 function makefilename() fname = now() fname = replace(fname,"-","") fname = replace(fname," ","") fname = replace(fname,":","") fname = replace(fname,"PM","") fname = replace(fname,"AM","") fname = replace(fname,"上午","") fname = replace(fname,"下午","") randomize ranNum=int(90000*rnd)+10000 '生成随机数 fname = fname&fanNum makefilename=fname & ".shtml" end function 这段函数就可以生成所需要的文件名及生成的文件的后缀名,当前的后缀名为.shtml,您也可以改成HTML或是ASP。 刚提到的是文件的命名,现在再来说一下文件的存放路径! 前面提到了,每个文件按加入的日期进行分类,那如何确定路径呢?同样用FSO生成。 用FSO中的folderExists方面来判断目录是否存在,如果存在就不需要重建立了,只需将HTML写入该目录下(这是后话了)。如果folderExists方法取得的值为false则表示目录不存在,就要用createfolder方法生成了。 formPath=datepart("yyyy",now())&"_"&datepart("m",now())&"_"&datepart("d",now()) '建立目录名,生成的文件将按存放在此处 set objfso = server.createobject("scripting.filesystemobject") if not objfso.folderexists(server.mappath(formPath)) then '如果该目录不存在 objfso.createfolder(server.mappath(formPath)) '创建一个文件夹 end if set objfso = nothing 目录就这样建立了。每次FSO生成文件时都进行判断一下,不过这样不知道会不会影响效率,大家可以有什么好的想法可以谈一谈。 先看一个模板: <html> <head> &[1] [2] [3] 下一页
|