博文

FSO组件的文件夹操作(2006-10-21 11:37:00)

摘要:     操作完驱动器,接着就是来操作文件夹了。其中包括:提取文件夹信息、创建文件夹、删除文件夹、复制文件夹、移动文件夹等。下面就具体来看。 一、fso.GetFolder   一看就明白,是提取文件夹了。那具体是提取哪个文件夹呢?后面肯定要跟一个文件夹的路径。提取出来了再来显示该文件夹相关信息呢?是不是有要具体提取下去。所以,看程序:   1,getfldr.asp <%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("c:\Program Files")
Response.Write "父文件夹名字是:" & fldr & "<br>" If fldr.IsRootFolder = True Then
   Response.Write "该文件夹是一根文件夹" & "<br>"
Else
   Response.Write "该文件夹不是根文件夹" & "<br>"
End If Response.Write "驱动器名字是:" & fldr.Drive & "<br>"
%>
  首先建立FSO组件的连接是必不可少的啦,然后Set fldr = fso.GetFolder("c:\Program Files")设定fldr对象被赋值,以作下面程序的引用。   fldr.IsRootFolder即为判断该文件夹是否为一根文件夹,值为布尔值(true or false);fldr.Drive则显示该文件夹所在的驱动器号了。   二、fso.CreateFolder   下面比较让人激动的是通过ASP建立文件夹了,你可以在你的权力范围内任意位置建立任意文件夹。   2,creatfldr.asp <%
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder ("c:\cnbruce")
Response.Write ......

阅读全文(1435) | 评论:0

FSO组件之文件操作(中) (2006-10-21 11:36:00)

摘要: FSO组件之文件操作(中) 学会了FSO提取文件值,也学会了将信息输入到文件中,那下面就再来应用应用下。   不知道你有没有这样的习惯:看到一个文件,不自觉的右键选择用记事本打开。呵呵,几乎没有哪个文件是不可以的。所以现在,可以默认所有文件都是文本,只是后缀名不同而已;那么也就是说,现在可以提取任一文件的内容信息。OK,就来想象一下:   1,提取一个文件的路径(采用file按钮进行查找定位)
  2,将该路径文件打开,并读取所有行
  3,显示读取的信息   一、viewcode.asp
<%
Function ShowCode(filename)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set cnrs = fso.OpenTextFile(filename, 1)
While Not cnrs.AtEndOfStream
rsline = cnrs.ReadLine
rsline = server.HTMLEncode(rsline)
Response.Write(rsline & "<br>")
Wend
end Function
%><form action="viewcode.asp" method="post">
输入文件名<input type="file" name="filename">
<input type="submit" value="查看源程序">
</form><%
file=request.form("filename")
response.write (file & "源程序如下<hr>")
If trim(file)<> "" then
Call ShowCode(file)
End If
%>
  以上程序调试时,可以选择html,asp页面,也可以打开任一应用程......

阅读全文(1538) | 评论:0

FSO组件之文件操作(上)(2006-10-21 11:34:00)

摘要:FSO中除了可以对驱动器、文件夹的操作以外,功能最强大的就是对文件的操作了。它可以用来记数、内容管理、搜索还可生成动态HTML页面等等。 一、fso.OpenTextFile
无需多说,fso.OpenTextFile就是打开某个文件了,一般情况之下是打开的txt文本文件。所以首先我们先建立一个txt文件,然后通过FSO来读取其中的内容。 1,info.txt name:cnbruce
sex:male
 
建立了该文件,下面再做个ASP页面,当然最好两个文件是在同一目录下。 2,opentxt.asp
<%
whichfile=server.mappath("info.txt")
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.OpenTextFile(whichfile,1)
rline = txt.ReadLine
rline = rline & "<br>" & txt.ReadLine
Response.Write rline
txt.Close
%>  
需要注意:无论是通过FSO打开驱动器、打开文件夹、打开文件,以及以后要接触到的打开数据库,都只能是打开绝对物理路径地址。但一般情况是上传到空间服务商那,不能很直接地了解到自己文件的所在位置,所以强烈推荐使用server.mappath方法:平台移植性强,适用性强。 CreateObject("Scripting.FileSystemObject")建立了FSO组件的连接,fso.OpenTextFile(whichfile,1)打开了info.txt该文件。参数“1”表示“ForReading:以只读方式打开文件。不能写这个文件。”,其他还有参数“2”表示“ForWriting:以写方式打开文件”,参数“8”表示“ForAppending:打开文件并从文件末尾开始写”。 打开了该文件,接下来是不是要显示文件中的内容?那就通过txt.ReadLine方法读取文本中的一整行,如果需要继续读取下一行,则继续使用txt.ReadLine方法。当然初此还有其它的......

阅读全文(1578) | 评论:0

什么叫服务器FSO组件(2006-10-21 11:22:00)

摘要:FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。是ASP编程中非常有用的一个控件。但是因为权限控制的问题,很多虚拟主机服务器的FSO反而成为这台服务器的一个公开的后门,因为客户可以在自己的ASP网页里面直接就对该控件编程,从而控制该服务器甚至删除服务器上的文件。   文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

  FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。

  FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不......

阅读全文(3041) | 评论:1

asp生成静态网页(2006-10-21 10:31:00)

摘要:  首先,模板需要在线修改,则应采用数据库保存模板代码 所谓的模板,就是设计完工的标准的HTML代码,其中需要由程序实现的功能部分将采用特殊字符串代替。然,这些特殊字符串需要在显示的时候被编译为对应的功能。 1,设计数据库testmb.mdb
新建表moban:字段m_id(自动编号,主关键字);字段m_html(备注类型) 2,假设第一模板内容代码 将下列代码拷贝到m_html字段中
以下是代码片段:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>testmb</title> 
</head> 
<body leftmargin="0" topmargin="0"> 
<table width="100%" height="100%" border="0" cellpadding="5" cellspacing="2"> 
 <tr align="right" bgcolor="#CCCCCC"> 
 <td height="20" colspan="2">$cntop$</td> 
 </tr> 
 <tr valign="top"> 
 <td width="25%" bgcolor="#e5e5e5">$cnleft$</td> 
 <td width="74%" bgcolor="#f3f3f3">$cnright$</td> 
 </tr> 
</table> 
</body> ......

阅读全文(2138) | 评论:0

javascript 连接数据库(2006-10-21 10:13:00)

摘要:这几天费了挺大力气在网上查找javascript连接access数据库的方法,
经过整理总结,终于写出一段能够有效执行的代码。
 
    但是这段代码在本地可以正常运行,一旦放到免费个人空间上就没法执
行了,主要原因就是操作权限不够,由于只支持静态页面的免费空间多数都
作了非常严格的限制,所以无论是用mdb的方式,还是读写纯文本文件的方式
都没办法通过,而由页面报出js错误。国外的一些免费空间,直接就禁止mdb
这样扩展名的文件上传。
 
    虽然没希望在纯静态页面的免费空间上作自己的计数器或是留言版,但是
这段程序也许还是对一些朋友有用处,写出来供各位研究一下。
 
文件构成:
  Access数据库名为 MyData.Mdb, 里面建了一个名为count的表,表由两个
  字段组成: ID和COUNT,表里有一条数据: (@#count@#,@#100@#)。
  文本文件名为 count.txt,里面随便写入一个数字。
  静态页面名为Cnt.htm。
以上3个文件都放在同一目录下。
 
    由于采用Access数据库,而它采用非标准SQL语法,所以要注意在表名
和字段名上需要加方括号: []
 
下面是页面里的代码:
 
    其中getCountFromDB方法是对Access数据库进行操作,getCountFromTxt
方法是对txt纯文本进行操作,这两个方法都在本地执行通过。
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditP......

阅读全文(2512) | 评论:0

使用ASP实现文件上载到WEB服务器(2006-10-18 18:02:00)

摘要:使用ASP实现文件上载到WEB服务器

ASPupload 2.0版,相关源文件如下(uploadTest.htm):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文件上载客户端</title>
</head>
<body>
<form method="POST" action="uploadTest1.asp" enctype="multipart/form-data"
name="UPloadForm">
<p><input type="file" Name="File1"> </p>
<p><input type="submit" value="Submit" name="Upload"></p>
</form>
</body>
</html>

其中客户端文件要注意两点:
* 文件上载提交表单(Form)的enctype必须指定为“multipart/form-data”
* 语句<input type="file" Name="File1">表示上载文件域,用户可以在该域中输入或选定文件。

服务器端源文件如下(uploadTest1.asp):

<%response.buffer=true%>
<html>
<%Set Upload=Server.createobject("Persits.Upload.1") '创建文件上载组件
Count=Upload.Save("e:\aspupload") '将客户端文件保存到WEB服务器端的本地硬盘上%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=g......

阅读全文(1961) | 评论:0

公共翻页模块(改进版)(2006-06-26 17:18:00)

摘要:用DWMX2004的插件包可以实现ASP的各种分页功能,但是那些代码实在有点恐怖,我们在实际的项目开发中 ,有没有更简单的方法实现"一劳永逸"呢?答案是肯定的. 我们需要的功能: 1、调用该模块时,只需要传递记录集和每页显示的记录的条数;
2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页;
3、不要考虑文件名,程序的每次翻页都能在当前页面。 具体编写内容
<% '翻页函数 pagein.asp '传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数) '输 出: 记录集翻页显示功能 '功能修正 by 话草   Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数; Dim TotalPage '总页数 Dim PageNo '当前显示的是第几页 Dim RecordCount '总记录条数 Rs_tmp.PageSize = PageSize RecordCount = Rs_tmp.RecordCount TotalPage = INT(RecordCount / PageSize * -1)*-1     Dim MyVar Dim MyCheck   Dim MyVar1 Dim MyCheck1   if Request.QueryString ("PageNo")="" then PageNo = Request.QueryString ("PageNo") end if     if Request.QueryString ("PageNo")<>"" then MyVar =Request.QueryString ("PageNo") MyCheck = IsNumeric(MyVar)  if MyCheck=True then  PageNo = Cint(Request.QueryString ("PageNo"))  else  PageNo = 1  end if end if ......

阅读全文(2070) | 评论:0

公共翻页模块(2006-06-26 17:10:00)

摘要:在大型的ASP项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。
设计方法:
1、调用该模块时,只需要传递记录集和每页显示的记录的条数;
2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页;
3、不要考虑文件名,程序的每次翻页都能在当前页面。 想清楚了上面3个问题,我们的公共翻页模块就可以动手了。 <%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块
'◆文 件 名: TurnPage.asp
'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)
'◆输    出: 记录集翻页显示功能
'+++++++++++++++++++++++++++++++++++++
'
Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;
Dim TotalPage      '总页数
Dim PageNo         '当前显示的是第几页
Dim RecordCount    '总记录条数
    Rs_tmp.PageSize = PageSize
    RecordCount = Rs_tmp.RecordCount
    TotalPage = INT(RecordCount / PageSize * -1)*-1
PageNo = Request.QueryString ("PageNo")
'直接输入页数跳转;
If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageN......

阅读全文(1663) | 评论:0

什么是 UBB 标记?(2006-06-26 14:10:00)

摘要: 什么是 UBB 标记? 什么是 UBB 标记? UBB 标记是您可能已经熟悉的 HTML标记的一种变种。基本上,它允许您在文章中添加本来需要 HTML 标记的功能或风格。即使您所在的讨论区不允许使用 HTML 标记,UBB 标记仍然可以使用。因为比 HTML 要求更少的编码技术,您也许更愿意使用 UBB 标记,即便讨论区允许使用 HTML 标记。 目前支持的 UBB 标记: UltraBoard Code 说明 [url]www.bbs.com[/url] 加入简单的超级链接 [url=www.bbs.com]www.bbs.com[/url] 加入带有说明的超级链接 [url=http://www.bbs.com]www.bbs.com[/url] 加入带有说明的超级链接 [download=http://www.bbs.com/2.zip]下载[/download] 下载地址和说明 [email]blue_dream@netease.com[/email] 加入带有说明的电子邮件地址。 [img]Your image address[/img] 显示你的图像,但请记住,http://是必须的。 [b]粗体[/b] 粗体显示 [i]斜体[/i] 斜体显示 [sup]上标[/sup] 上标显示 [sub]下标[/sub] 下标显示 [center]居中[/center] 居中显示 [color=#0000FF]颜色[/color] 带有颜色的显示 [&] 显示符号 & [quote]引用[/quote] 引用显示 [font=宋体]字体[/font] 字体 [size=3]字体大小[/size] 字体大小 [#f7f7f7]彩色[/#] 同[color]标记 [code]代码[/code] 代码显示 [html]调试代码[/html] 发帖后,对于中间的调试代码,可以点运行按钮,查看调试效果
附注
您不能在一个功能中混合使用 HTML 和 UBB 标记。同时 UBB 标记是大小写无关的 (因而,你可以使用 [URL] 或......

阅读全文(2723) | 评论:0