




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FSO组件FSO,很多空间服务商广告:100MB空间只要60RMB/年,支持数据库,支持什么什么一问不支持FSO,立马泄气。那FSO究竟是什么东西,它的力量又是如何巨大,其操作的原理又是怎的怎的呢?这次来个彻底的理解。首先,FSO是FileSystemObject的简称。当然也就是我们的俗称FSO组件了,该组件可以用来处理驱动器、文件夹以及文件。 它可以检测并显示出系统驱动器的信息分配情况;还能够创建、改变、移动和删除文件夹,并能探测一些给定的文件夹是否存在,若存在,还能提取出该文件夹的信息,如名称、被创建或最后一次修改的日期,等等。FSO还使得对文件的处理变得很容易。 一、fso.GetDr
2、ive正如其它组件的建立一样,FSO的引用也必须建立连接。Set fso=Server.CreateObject(Scripting.FileSystemObject)注意CreateObject的内部再也不是MSWC了,而是Scripting。那下面就可以通过fso来处理驱动器了。比如fso.GetDriveName提取驱动器名,fso.GetDrive同样提取标准驱动器名。比如:1,fso.asp你会发现GetDriveName(d:)就是“d:”,而GetDrive(d:)则为标准的“D:”,所以我们一般这样写fso.GetDrive(fso.GetDriveName(drvPath)来
3、提取某个具体的驱动盘。 二、drv.GetInfo上面已经把某个特定的驱动器提取了,那接着是不是提取该驱动盘的具体信息。2,drv.asp该盘的空间大小:该盘的剩余空间大小:以上只是提取的D盘驱动器的信息,来个通用的函数,继续分别测试自己的驱动吧。3,drvinfo.asp%Function ShowDriveInfo(drvPath)Dim fso, drv, sSet fso = CreateObject(Scripting.FileSystemObject)Set drv = fso.GetDrive(fso.GetDriveName(drvPath)s = 驱动盘 & drv & 的卷
4、标是:s = s & drv.VolumeName & s = s & 总计空间: & drv.TotalSize & s = s & 剩余空间: & drv.FreeSpace & s = s & 文件类型: & drv.DriveType & s = s & 文件系统: & drv.FileSystemResponse.Write sEnd Function%on error resume nextwhatpath=request.form(path)if whatpath thenShowDriveInfo(whatpath)end if% 其中的drv.TotalSize和drv.Fr
5、eeSpace返回的是字节数,我们可以用FormatNumber()函数处理下。比如FormatNumber(Drive.TotalSize/1024,0)得到一眼就知磁盘多少G的值。还有一个文件类型:drv.DriveType最多的时候是显示数值“2”,其实“2”就表示的“硬盘驱动器”,“1”表示“软盘驱动器”,“4”表示“光盘驱动器” 下面就用一个程序遍历显示自己机器上所有驱动器的信息盘符类型卷标总计大小可用空间文件系统序列号是否可用路径%on error resume nextFor each drv in fso.DrivesResponse.Write Response.Write
6、& drv.DriveLetter & Response.write & tran(drv.DriveType) & Response.write & drv.VolumeName & Response.write & FormatNumber(drv.TotalSize / 1024, 0)& Response.write & FormatNumber(drv.Availablespace / 1024, 0) & Response.write & drv.FileSystem & Response.write & drv.SerialNumber & Response.write & dr
7、v.IsReady & Response.write & drv.Path & Response.Write Nextset fs=nothing% 恩,是不是很神气?那你可以对自己的机器调试,然后上传到自己的空间去调试,你会发现服务商会你进行了些设置:)当然更神的还在后面面,比如对文件夹,对文件的操作(包括添加、修改和删除)。ps:你对驱动器是不能轻易添加删除的:) 操作完驱动器,接着就是来操作文件夹了。其中包括:提取文件夹信息、创建文件夹、删除文件夹、复制文件夹、移动文件夹等。下面就具体来看。一、fso.GetFolder一看就明白,是提取文件夹了。那具体是提取哪个文件夹呢?后面肯定要跟一
8、个文件夹的路径。提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去。所以,看程序:1,getfldr.asp %Set fso = CreateObject(Scripting.FileSystemObject)Set fldr = fso.GetFolder(c:Program Files)Response.Write 父文件夹名字是: & fldr & If fldr.IsRootFolder = True ThenResponse.Write 该文件夹是一根文件夹 & ElseResponse.Write 该文件夹不是根文件夹 & End IfResponse.Write 驱动
9、器名字是: & fldr.Drive & %首先建立FSO组件的连接是必不可少的啦,然后Set fldr = fso.GetFolder(c:Program Files)设定fldr对象被赋值,以作下面程序的引用。fldr.IsRootFolder即为判断该文件夹是否为一根文件夹,值为布尔值(true or false);fldr.Drive则显示该文件夹所在的驱动器号了。二、fso.CreateFolder下面比较让人激动的是通过ASP建立文件夹了,你可以在你的权力范围内任意位置建立任意文件夹。3,delfldr.asp 执行程序,应该发现C盘多出了cnbruce文件夹,fso.GetBas
10、eName则是提取文件夹名。 三、fso.DeleteFolder通过ASP可以建立了文件夹,则同样可以删除文件夹。3,delfldr.asp发现刚建立的cnbruce文件夹确实已被删除。注意,有时需要删除文件夹,而该文件夹不存在时,会出现程序逻辑性错误。则应先判断文件夹的状态。 需要注意的是:删除并不会提示“确认要放入回收站”这项。这点你需要谨慎处理,特别是对你的系统文件夹。 四、fso.MoveFolder主要作用是进行文件夹的移动,相当于剪切粘贴动作。格式:fso.MoveFolder 被移动的文件夹,移动到的文件夹 5,movefldr.asp查看cnbruce文件夹有没有移动过来不过
11、同样需要注意的是你的系统文件夹不能乱移动。 五、fso.CopyFolder主要作用:将文件夹从某位置复制到另一位置。6,copyfldr.asp 查看cnbruce文件夹有没有复制过来 该程序是建立在上一movefldr.asp的执行结果基础之上来完成复制到C盘根目录下的。当然,其拷贝也是将该文件夹包括里面所以子文件夹和文件统统拷贝。到最后再试着将c:Program Filescnbruce和c:cnbruce两个文件夹进行删除掉吧。不过,继续提醒你:不要写错了,比如写成c:Program Files,那你就惨了:这叫玩命,学ASP玩出心跳出来了。对文件夹的操作差不多了,是不是感到用处比较大
12、?有训言:好东西是把双刃剑。正义和邪恶就只一线间,注意正规合理利用该组件。不过还有你放心的是,现在网站空间服务商对这权力已经限定得死死的了,你再怎么闹翻也不会冒泡的:) FSO组件(下)FSO中除了可以对驱动器、文件夹的操作以外,功能最强大的就是对文件的操作了。它可以用来记数、内容管理、搜索还可生成动态HTML页面等等。 一、fso.OpenTextFile无需多说,fso.OpenTextFile就是打开某个文件了,一般情况之下是打开的txt文本文件。所以首先我们先建立一个txt文件,然后通过FSO来读取其中的内容。 1,info.txtname:cnbrucesex:male建立了该文件,
13、下面再做个ASP页面,当然最好两个文件是在同一目录下。 2,opentxt.asp%whichfile=server.mappath(info.txt)Set fso = CreateObject(Scripting.FileSystemObject)Set txt = fso.OpenTextFile(whichfile,1)rline = txt.ReadLinerline = rline & & txt.ReadLineResponse.Write rlinetxt.Close%需要注意:无论是通过FSO打开驱动器、打开文件夹、打开文件,以及以后要接触到的打开数据库,都只能是打开绝对物理
14、路径地址。但一般情况是上传到空间服务商那,不能很直接地了解到自己文件的所在位置,所以强烈推荐使用server.mappath方法:平台移植性强,适用性强。CreateObject(Scripting.FileSystemObject)建立了FSO组件的连接,fso.OpenTextFile(whichfile,1)打开了info.txt该文件。参数“1”表示“ForReading:以只读方式打开文件。不能写这个文件。”,其他还有参数“2”表示“ForWriting:以写方式打开文件”,参数“8”表示“ForAppending:打开文件并从文件末尾开始写”。 打开了该文件,接下来是不是要显示文件
15、中的内容?那就通过txt.ReadLine方法读取文本中的一整行,如果需要继续读取下一行,则继续使用txt.ReadLine方法。当然初此还有其它的读取方法,比如txt.Read(7)读取指定数量的字符,txt.ReadAll返回文本中的全部内容。二、fso.CreateTextFile如fso.CreateFolder建立文件夹般,fso.CreateTextFile则是建立文件了。3,creattxt.asp查看内容本次建立的文件是上一info.txt文件,fso.CreateTextFile(whichfile,True)其中的参数true即表示能覆盖已有文件。建立后需要向里面添加数据就
16、采用“MyFile.WriteLine”了。 那现在就可以建立一个简单的文本记数器了,还记得以前的记数?:1,通过application、session、global.asa进行记数;2,通过Counter组件进行记数。但两者都有通病,就是不能保存,如果服务器重新启动后,是不是所有记数全部清空了呢:)那现在就可以使用文本来记录数据了,即使重启,下次提取的也还是该文件。 试验:文本计数器首先建立一记数的文本文件counter.txt,设定初始值为“1”4,counter.txt内容1接着是记数的ASP文件,功能是显示文本的记数,本做加1的记数,然后还要将新的记数写入文本文件。5,txtcount.asp那根据这个可以继续地扩展内容:比如让记数用数字图片显示。当然前提就是你需要0-9的10张记数图片,并将此图片放于img文件夹中。下为一增强的txtcount.asp内容代码 %whichfile=server.mappath(counter.txt)set fso=createobject(Scripting.FileSystemObject)set openfile=fso.opentextfile(whichfile,1)visitors=openfile.readlineopenfile.closeCountLen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车间主任月度工作总结
- (高清版)DB51∕T 1615-2013 政务服务中心 服务大厅标识
- 电商运营助理工作总结
- 河北省廊坊市2024-2025学年高一上学期期末语文试题(解析版)
- 部门经理年终述职报告
- 2025年口服降血糖药项目合作计划书
- 2025年旅游景区开发运营项目合作计划书
- 电商用户个性化体验提升方案
- 房地产开发合作投资协议书
- 电子产品按键覆膜手感规范
- 系统数据安全培训课件模板
- 2023-2024学年人教版新教材必修第二册 第五章第三节 无机非金属材料 课件(28张)
- 四川省广安市2021年中考地理真题(含答案)
- 化工过程的在线监测与控制
- 粮油烘干培训课件
- crrt的治疗与护理
- 互联网汽车金融外文文献翻译
- 行政法(中国政法大学版)
- 2020网络与信息安全管理员职业技能标准(职业编码:4-04-04-02)
- 部编版六年级下册道德与法治全册表格式教学设计
- DC-DC反激变压器计算
评论
0/150
提交评论