|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。学会了FSO提取文件值,也学会了将信息输出到文件中,那上面就再来使用使用下。<P> 不晓得你有无如许的习气:看到一个文件,不盲目的右键选择用记事本翻开。呵呵,几近没有哪一个文件是不成以的。以是如今,能够默许一切文件都是文本,只是后缀名分歧罢了;那末也就是说,如今能够提取任一文件的内容信息。OK,就来设想一下:<P> 1,提取一个文件的路径(接纳file按钮举行查找定位)
2,将该路径文件翻开,并读取一切行
3,显现读取的信息<P> 1、viewcode.asp<P>- <%
- FunctionShowCode(filename)
- Setfso=Server.CreateObject("Scripting.FileSystemObject")
- Setcnrs=fso.OpenTextFile(filename,1)
- WhileNotcnrs.AtEndOfStream
- rsline=cnrs.ReadLine
- rsline=server.HTMLEncode(rsline)
- Response.Write(rsline&"<br>")
- Wend
- endFunction
- %><P><formaction="viewcode.asp"method="post">
- 输出文件名<inputtype="file"name="filename">
- <inputtype="submit"value="检察源程序">
- </form><%
- file=request.form("filename")
- response.write(file&"源程序以下<hr>")
- Iftrim(file)""then
- CallShowCode(file)
- EndIf
- %>
复制代码 <P> 以上程序调试时,能够选择html,asp页面,也能够翻开任一使用程序等。<P> 界说的ShowCode函数,次要感化是翻开、读取并显现文件中一切信息内容。注重增加了server.HTMLEncode(rsline),针对含有尺度HTML代码的文件。<P> 显现文件中一切行即用一前提轮回举行遍历显现了。<P>- WhileNotcnrs.AtEndOfStream
- ...
- Wend
复制代码 <P> 接着,上面的这个例题详细就触及open办法的成绩了,还记得?一般情形之下翻开文件是接纳fso.OpenTextFile("c: estfile.txt",1),参数1的感化是:以只读形式翻开文件。不克不及对此文件举行写操纵。假如如今已存在一文件,必要举行追加写进,则该怎样办呢?复杂,参数为8便可。<P> 这有甚么用呢?呵呵,亚玛逊的收集故事接龙就是云云:能接龙就必要起首要显现原有故事,然后本人增加故事写进文件。这个中的写进文件最考究的就是追加写进了。以是上面就能够完成。<P> 2、story.asp<P>- <%
- Ifnotrequest.Form("NextLine")=""then
- Setfso=Server.CreateObject("Scripting.FileSystemobject")
- textfile1=Server.MapPath("story.txt")
- setcnrs=fso.OpenTextFile(textfile1,8)
- cnrs.WriteLine(Request.Form("NextLine"))
- cnrs.Close
- endif
- %>
- 故事以下:
- <%
- Setfso=Server.CreateObject("Scripting.FileSystemObject")
- textfile1=Server.MapPath("story.txt")
- setcnrs=fso.OpenTextFile(textfile1,1)
- whilenotcnrs.AtEndOfStream
- Response.Write""&cnrs.ReadLine
- wend
- cnrs.close
- %>
- <hr>
- <formmethod="post"action="story.asp">
- 请输出这个故事的新行:<inputname="NextLine"type="text"size="70">
- <inputtype="submit"value="提交">
- </form>
复制代码 <P> 全部就是一很复杂的读失信息和到场信息的夹杂使用,信任有了后面的基本看懂应当不成成绩。固然还短少个story.txt文件,内里写好故事开首就能够了。<P> 调试<P> 再上面,持续来,该偏重点次要就是实习一些函数的利用技能了。<P> 1,instr函数:前往某字符串在另外一字符串中第一次呈现的地位。
好比如今查找字母“A”在字符串“A110B121C119D1861”中第一次呈现的地位,则能够<P>- <scriptlanguage=vbs>
- my_string="A110B121C119D1861"
- a_num=instr(my_string,"A")
- alert(a_num)
- </script>
复制代码 <P> 一样字母“B”的地位也就可以断定。如今就来最关头的:提早字母“A”和“B”两头的值“110”。
还记得mid函数吗?mid函数的次要感化是:从字符串中前往指定命目标字符。
好比如今的“110”则应当是从字符串的第2位获得3个单元的值。<P>- <scriptlanguage=vbs>
- my_string="A110B121C119D1861"
- a_value=mid(my_string,2,3)
- alert(a_value)
- </script>
复制代码 <P> 但假想一下:假如不是“110”,而是“1100”,那是否是要提取4位……如许就显出程序的不敷完善。
以是持续思索:所提取的值,永久是在字母“A”前面的,且值也永久是在字母“A”和“B”之间的,那末只需分离提掏出“A”、“B”的地位,则两头数值的肇端位应是字母“A”位+1,两头数值的长度应是字母“B”位-字母“A”位-1
那末如今就能够让程序完善起来:<P>- <scriptlanguage=vbs>
- my_string="A110B121C119D1861"
- a_num=instr(my_string,"A")
- b_num=instr(my_string,"B")
- a_value=mid(my_string,a_num+1,b_num-a_num-1)
- alert(a_value)
- </script>
复制代码 <P> OK,那末如今你也就完整能够把字母“B”、“C”、“D”前面的值逐一提取了。
固然必要注重的就是“D”前面有几位怎样取呢?接纳字符串总长度-字母D地点地位数就能够了。<P>- <scriptlanguage=vbs>
- my_string="A110B121C119D1861"
- a_num=instr(my_string,"A")
- b_num=instr(my_string,"B")
- c_num=instr(my_string,"C")
- d_num=instr(my_string,"D")
- total_num=len(my_string)
- a_value=mid(my_string,a_num+1,b_num-a_num-1)
- b_value=mid(my_string,b_num+1,c_num-b_num-1)
- c_value=mid(my_string,c_num+1,d_num-c_num-1)
- d_value=mid(my_string,d_num+1,total_num-d_num)
- alert(a_value)
- alert(b_value)
- alert(c_value)
- alert(d_value)
- </script>
复制代码 <P> 用到如今,你大概的确学到了很多,但大概会提出疑问:这个放在FSO文件操纵里有甚么感化呢?
那上面才是我们的正题:用FSO举行复杂的文本投票。<P> 投票页面主要的就是显现各种项目标投票数,并响应赋于某个变量。然后判别本次投票的选相,绝对应地将投票数值加1,终了后再将一切值持续写进文本。<P> 1,一个HTML表单页website.html
以做投票点击的平台。<P>用到如今,你大概的确学到了很多,但大概会提出疑问:这个放在FSO文件操纵里有甚么感化呢?
那上面才是我们的正题:用FSO举行复杂的文本投票。<P>- <formaction="result.asp"method="post">
- <inputtype="radio"name="website"value="A"checked>cnbruce.com<br>
- <inputtype="radio"name="website"value="B">blueidea.com<br>
- <inputtype="radio"name="website"value="C">it365cn.com<br>
- <inputtype="radio"name="website"value="D">5d.cn<br>
- <inputtype="submit">
- <inputtype="reset">
复制代码 <P> 2,承受表单页值的result.asp<P>- <%
- whichfile=server.mappath("site.txt")
- setfso=createobject("Scripting.FileSystemObject")
- setthisfile=fso.opentextfile(whichfile)
- my_string=thisfile.readline<P>a_num=instr(my_string,"A")
- b_num=instr(my_string,"B")
- c_num=instr(my_string,"C")
- d_num=instr(my_string,"D")
- total_num=len(my_string)<P>a_value=mid(my_string,a_num+1,b_num-a_num-1)
- b_value=mid(my_string,b_num+1,c_num-b_num-1)
- c_value=mid(my_string,c_num+1,d_num-c_num-1)
- d_value=mid(my_string,d_num+1,total_num-d_num)<P>selectcaserequest.form("website")
- case"A":a_value=a_value+1
- case"B":b_value=b_value+1
- case"C":c_value=c_value+1
- case"D":d_value=d_value+1
- endselectmynew_string="A"&cstr(a_value)&"B"&cstr(b_value)&"C"&cstr(c_value)&"D"&cstr(d_value)
- setnewfile=fso.createtextfile(whichfile)
- newfile.writeLine(mynew_string)
- newfile.close
- setfso=nothing
- %>
- 以后投票:<br>
- cnbruce.com:<%=a_value%><br>
- blueidea.com:<%=b_value%><br>
- it356cn.com:<%=c_value%><br>
- 5d.cn:<%=d_value%><br>
- <ahref="website.html">前往持续</a>
复制代码 <P> 有了下面函数的基本,看这个应当不是很难的。<P> 3,最初不要忘了的记数文件site.txt<P> 格局:A1B1C1D1<P> 调试<P> OK,三个文件就能够胜任一个很复杂的投票体系了,假如要增强,必要细化的则分离之前的常识吧,好比投过一次后设置session大概cookies,当再次投票时分判别假如session大概cookies存在则不同意,也就是复杂的投票防作假手腕了……固然更多的仍是要本人往想往理论了。
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来; |
|