`
cd0281
  • 浏览: 123150 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

枫叶随风ASP文件操作类(FSO)(转)

    博客分类:
  • asp
阅读更多
'=============================================================
'作者:枫叶随风
'QQ:455948725
'E-mail:liukun615@126.com
'WebSite:http://www.fengyekun.com
'=============================================================
class FsoClass
    private Fso,SourcePath,DestinationPath,FsoFile,FileType
    
    private sub Class_Initialize()
        set Fso=server.CreateObject("Scripting.FileSystemObject")
        FileType="inc|txt|text|htm|html|shtm|shtml|xhtml|xml|css|js|asp|asa|php|jsp|dwt"
    end sub
    
    private sub Class_Terminate()
        set Fso=nothing
    end sub
    
    private sub ErrorInfo(ErrorNum)
        select case ErrorNum
        case 1:Str="FsoClass类错误:没有指定Source参数!"
        case 2:Str="FsoClass类错误:没有指定Destination参数!"
        case 3:Str="FsoClass类错误:执行文件操作时不支持此文件扩展名!"
        case 4:Str="FsoClass类错误:执行文件操作时找不到指定文件!"
        case 5:Str="FsoClass类错误:执行文件操作时找不到指定文件夹!"
        end select
        
        response.write "<script language=""JavaScript"">alert("""&Str&""")</script>"
        response.End()
    end sub

    public property get Source
        Source=SourcePath
    end property
    public property let Source(FilePath)
        SourcePath=FilePath
    end property
    
    public property get Destination
        Destination=DestinationPath
    end property
    public property let Destination(FilePath)
        DestinationPath=FilePath
    end property
    
    '获取文件路径
    public property get Path
        if Destination<>"" then
            Path=left(Destination,instrRev(Destination,"/"))
        end if
    end property
    
    '获取文件名称
    public property get Name
        if Destination<>"" then
            Name=mid(Destination,instrRev(Destination,"/")+1)
        end if
    end property
    
    '获取文件扩展名
    public property get ExtensionName
        if Destination<>"" then
            ExtensionName=mid(Destination,instrRev(Destination,".")+1)
        end if
    end property
    
    '获取文件或文件夹的父文件夹包含文件夹名称的路径
    public property get ParentFolderPath
        if Destination<>"" then
            ParentFolderPath=Fso.GetParentFolderName(server.MapPath(Destination))
        end if
    end property
    
    '获取文件或文件夹的父文件夹名称
    public property get ParentFolderName
        if Destination<>"" then
            dim TempName
            TempName=Fso.GetParentFolderName(server.MapPath(Destination))
            ParentFolderName=mid(TempName,instrRev(TempName,"\")+1)
        end if
    end property
    
    '获取文件大小
    public property get Size
        if Destination<>"" then
            if FileExist(Destination) then
            set FsoFile=Fso.GetFile(server.MapPath(Destination))
            Size=round(FsoFile.size/1024)
            end if
        end if
    end property

    '创建时间
    public property get DateCreated
        if Destination<>"" then
            if FileExist(Destination) then
            set FsoFile=Fso.GetFile(server.MapPath(Destination))
            DateCreated=FsoFile.DateCreated
            end if
        end if
    end property
    
    '上次修改时间
    public property get DateLastModified
        if Destination<>"" then
            if FileExist(Destination) then
            set FsoFile=Fso.GetFile(server.MapPath(Destination))
            DateLastModified=FsoFile.DateLastModified
            end if
        end if
    end property
    
    '上次访问时间
    public property get DateLastAccessed
        if Destination<>"" then
            if FileExist(Destination) then
            set FsoFile=Fso.GetFile(server.MapPath(Destination))
            DateLastAccessed=FsoFile.DateLastAccessed
            end if
        end if
    end property
    
    '检测文件是否存在(仅在类内部使用)
    private function FileExist(FilePath)
        FileExist=Fso.FileExists(server.MapPath(FilePath))
    end function
    
    '检测文件夹是否存在(仅在类内部使用)
    private function FolderExist(FilePath)
        FolderExist=Fso.FolderExists(server.MapPath(FilePath))
    end function
    
    
    
    '检测文件是否存在
    public function FileExists()
        if Destination="" then Call ErrorInfo(2)
        
        FileExists=Fso.FileExists(server.MapPath(Destination))
    end function
    
    '检测文件夹是否存在
    public function FolderExists()
        if Destination="" then Call ErrorInfo(2)
        
        FolderExists=Fso.FolderExists(server.MapPath(Destination))
    end function
    
    '复制文件
    public function CopyFile()
        if Source="" then Call ErrorInfo(1)
        if Destination="" then Call ErrorInfo(2)
        if FileExist(Source)=false then Call ErrorInfo(4)
        if FolderExist(Path)=false then Call ErrorInfo(5)
        
        Fso.CopyFile server.MapPath(Source),server.MapPath(Destination)
    end function

    '复制文件夹  //当原文件夹为空文件夹时,此操作无效
    public function CopyFolder()
        if Source="" then Call ErrorInfo(1)
        if Destination="" then Call ErrorInfo(2)
        if FolderExist(Source)=false then Call ErrorInfo(4)
        if FolderExist(Path)=false then Call ErrorInfo(5)
        
        Fso.CopyFolder server.MapPath(Source),server.MapPath(Destination)
    end function
    
    '删除文件
    public function DeleteFile()
        if Destination="" then Call ErrorInfo(2)
        
        if FileExist(Destination) then
            Fso.DeleteFile server.MapPath(Destination)
        end if
    end function
    
    '删除文件夹
    public function DeleteFolder()
        if Destination="" then Call ErrorInfo(2)
        
        if FolderExist(Destination) then
            Fso.DeleteFolder server.MapPath(Destination)
        end if
    end function
    
    '移动文件
    public function MoveFile()
        if Source="" then Call ErrorInfo(1)
        if Destination="" then Call ErrorInfo(2)
        if FileExist(Source)=false then Call ErrorInfo(4)
        if FolderExist(Path)=false then Call ErrorInfo(5)
        
        if FileExist(Destination) then Call DeleteFile()
        Fso.MoveFile server.MapPath(Source),server.MapPath(Destination)
    end function
    
    '移动文件夹
    public function MoveFolder()
        if Source="" then Call ErrorInfo(1)
        if Destination="" then Call ErrorInfo(2)
        if FolderExist(Source)=false then Call ErrorInfo(4)
        if FolderExist(Path)=false then Call ErrorInfo(5)
        
        if FolderExist(Destination) then Call DeleteFolder()
        Fso.MoveFolder server.MapPath(Source),server.MapPath(Destination)
    end function
    
    '创建文件夹
    public function CreateFolder()
        if Destination="" then Call ErrorInfo(2)
        
        Fso.CreateFolder(server.MapPath(Destination))
    end function
    
    '读取文件内容
    public function ReadFile()
        if Destination="" then Call ErrorInfo(2)
        if FileExist(Destination)=false then Call ErrorInfo(4)
        
        set FsoFile=Fso.OpenTextFile(server.MapPath(Destination))
        ReadFile=FsoFile.readall
        FsoFile.close
    end function
    
    '创建文件
    public function CreateFile(Content)
        if Destination="" then Call ErrorInfo(2)
        if instr(FileType,ExtensionName)=0 then Call ErrorInfo(3)
        if FileExist(Path)=false then Call ErrorInfo(5)
        
        set FsoFile=Fso.CreateTextFile(server.MapPath(Destination),true)
        FsoFile.write(Content)
        FsoFile.close
    end function
    
    '修改文件内容
    public function ModifyFile(Content)
        if Destination="" then Call ErrorInfo(2)
        if instr(FileType,ExtensionName)=0 then Call ErrorInfo(3)
        if FileExist(Destination)=false then Call ErrorInfo(4)
        
        set FsoFile=Fso.OpenTextFile(server.MapPath(Destination),2,true)
        FsoFile.write(Content)
        FsoFile.close
    end function
    
    '在文件内容末尾追加内容
    public function WriteFile(Content)
        if Destination="" then Call ErrorInfo(2)
        if instr(FileType,ExtensionName)=0 then Call ErrorInfo(3)
        if FileExist(Destination)=false then Call ErrorInfo(4)
        
        set FsoFile=Fso.OpenTextFile(server.MapPath(Destination),8,true)
        FsoFile.write(Content)
        FsoFile.close
    end function
    
    '更改文件名称和扩展名
    public function ChangeFileName(FileName)
        if Destination="" then Call ErrorInfo(2)
        if FileExist(Destination)=false then Call ErrorInfo(4)
        
        dim t_Path
        t_Path=Destination
        Destination=Path&FileName
        Source=t_Path
        Call MoveFile()
    end function
    
    '更改文件夹名称
    public function ChangeFolderName(FolderName)
        if Destination="" then Call ErrorInfo(2)
        if FolderExist(Destination)=false then Call ErrorInfo(4)
        
        dim t_Path
        t_Path=Destination
        Destination=Path&FolderName
        Source=t_Path
        Call MoveFolder()
    end function
end class


属性:
文件原路径 Source
文件目标路径 Destination
文件路径 Path
文件名称 Name
文件大小(以KB为单位) Size
文件扩展名 ExtensionName
父文件名称 ParentFolderName
父文件路径 ParentFolderPath
文件创建时间 DateCreated
上次访问时间 DateLastAccessed
上次修改时间 DateLastModified

方法:
检测文件是否存在 FileExists()
检测文件夹是否存在 FolderExists()
复制文件 CopyFile()
复制文件夹 CopyFolder()
删除文件 DeleteFile()
删除文件夹 DeleteFolder()
移动文件 MoveFile()
移动文件夹 MoveFolder()
创建文件 CreateFile(Content)
创建文件夹 CreateFolder()
修改文件 ModifyFile(Content)
读取文件 ReadFile()
写入内容(以追加方式) WriteFile(Content)
更改文件名称 ChangeFileName(FileName)
更改文件夹名称 ChangeFolderName(FolderName)

实例:检测文件是否存在
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/Temp.txt"
if Fso.FileExists() then
    response.write "文件存在!"
else
    response.write "文件不存在!"
end if
set Fso=nothing

实例:检测文件夹是否存在
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/Temp"
if Fso.FolderExists() then
    response.write "文件夹存在!"
else
    response.write "文件夹不存在!"
end if
set Fso=nothing

实例:复制文件
dim Fso
set Fso=new FsoClass
Fso.Source="1.txt"
Fso.Destination="2.txt"
Fso.CopyFile()
set Fso=nothing

实例:复制文件夹(如果原文件夹为空,则此操作无效)
dim Fso
set Fso=new FsoClass
Fso.Source="/Temp"
Fso.Destination="/1/"
Fso.CopyFolder()
set Fso=nothing

实例:删除文件
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/Temp.txt"
Fso.DeleteFile()
set Fso=nothing

实例:删除文件夹
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp"
Fso.DeleteFolder()
set Fso=nothing

实例:移动文件
dim Fso
set Fso=new FsoClass
Fso.Source="/Temp1/a.txt"
Fso.Destination="/Temp2/b.txt"
Fso.MoveFile()
set Fso=nothing

实例:移动文件夹
dim Fso
set Fso=new FsoClass
Fso.Source="/Temp1/a"
Fso.Destination="/Temp2/b"
Fso.MoveFolder()
set Fso=nothing

实例:创建文件夹
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/1"
Fso.CreateFolder()
set Fso=nothing

实例:创建文件
dim Fso,Content
Content="aaa"
set Fso=new FsoClass
Fso.Destination="/Temp/1.txt"
Fso.CreateFile(Content)
set Fso=nothing

实例:读取文件内容
dim Fso,Content
set Fso=new FsoClass
Fso.Destination="/Temp/1.txt"
Content=Fso.ReadFile()
set Fso=nothing

response.write Content

实例:修改文件内容
dim Fso,Content
Content="aaa"
set Fso=new FsoClass
Fso.Destination="/Temp/1.txt"
Fso.ModifyFile(Content)
set Fso=nothing

实例:写入内容(以追加方式)
dim Fso,Content
Content="aaa"
set Fso=new FsoClass
Fso.Destination="/Temp/1.txt"
Fso.WriteFile(Content)
set Fso=nothing

实例:更改文件名称
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/a.txt"
Fso.ChangeFileName("b.txt")
set Fso=nothing

实例:更改文件夹名称
dim Fso
set Fso=new FsoClass
Fso.Destination="/Temp/a"
Fso.ChangeFolderName("b")
set Fso=nothing
分享到:
评论

相关推荐

    asp文件操作类

    在这个"asp文件操作类"中,我们主要关注的是如何在ASP中处理文件系统对象(FileSystemObject,简称FSO)。这个类提供了丰富的功能,允许开发者对服务器上的文件和文件夹进行创建、读取、写入、删除等操作。 `fso_...

    Asp文件上传/管理源代码

    本资源提供了一个简单的Asp文件上传/管理的源代码实现,它使用了无组件上传类和File System Object(FSO)来完成基本的上传和删除文件操作。 首先,我们来详细了解一下Asp文件上传的原理。在ASP中,文件上传通常...

    基于ASP的在线文件管理(FSO支持多文件上传).zip

    【标题】中的“基于ASP的在线文件管理(FSO支持多文件上传)”是指一个使用Active Server Pages (ASP)技术开发的在线文件管理系统,该系统具备文件上传功能,并且特别强调了支持多文件同时上传。这通常涉及到Web...

    asp fso静态生成页面

    总结起来,"asp fso静态生成页面"是一个利用ASP服务器端脚本和FileSystemObject进行文件操作的技术,将动态生成的内容转化为静态HTML页面,以提高网站性能和用户体验。这一过程涉及动态内容的处理、文件的创建与写入...

    ASP+FSO可视化目录编历(可增、删、改)

    在本项目中,"ASP+FSO可视化目录编历(可增、删、改)",指的是利用ASP技术和FileSystemObject(FSO)来实现对服务器上文件系统的可视化操作,包括添加、删除和修改文件或目录的功能。 FileSystemObject是ASP内置的...

    fso.rar_asp fso

    ASP 是一种服务器端脚本环境,用于创建动态交互式网页,而FSO则是ASP内建的对象模型,允许开发者在服务器端对文件系统进行操作,如读取、写入、创建、删除文件和目录。 描述中提到的功能包括在线查看文件或文件夹、...

    fso.rar_asp fso_fso a

    标题 "fso.rar_asp fso_fso a" 暗示了这是一个关于ASP(Active Server Pages)中FileSystemObject(FSO)组件的资源包,主要用于处理文件系统操作。描述指出这是一套分页组件的源码,可以解决特定的分页算法问题,...

    Excel-VBA实用技巧范例-利用文件对象模型FSO操作文本文件.zip

    在Excel VBA编程中,文件系统对象模型(FileSystemObject,简称FSO)是一个非常重要的工具,它允许开发者在VBA环境中对操作系统中的文件和文件夹进行操作。本压缩包文件"Excel-VBA实用技巧范例-利用文件对象模型FSO...

    asp二进制下载文件

    "FSO下载文件"中的FSO是File System Object的缩写,它是ASP内置的对象,允许开发者在服务器端操作文件系统。通过FSO,可以读取、写入、创建、删除文件和目录。在下载文件时,FSO可以用来打开和读取要下载的文件内容...

    FSO对象详细用法全面总结

    FSO组件主要应用于文件系统的操作,如在ASP中创建、修改、删除文件夹和文件,对于生成静态HTML页面尤为有用。此外,FSO组件也广泛应用于VBS(Visual Basic Script)和VB(Visual Basic)中,不仅限于网站开发,还...

    FSO操作大全

    综上所述,FSO提供了丰富的接口来操作文件系统,包括但不限于驱动器、文件夹和文件的操作以及相关信息的获取。通过这些接口,可以方便地实现自动化脚本任务,如文件备份、文件搜索等。理解并熟练掌握这些API对于开发...

    Asp文件上传/管理(无惧上传类)

    描述中提到的“使用无组件上传类和fso做的”,这里“fso”指的是FileSystemObject,它是ASP内置的对象模型,可以用来操作文件和目录。通过FileSystemObject,我们可以创建、读取、写入、移动、删除文件,以及创建、...

    ASP操作FSO

    资源名称:ASP操作FSO资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    fileManage ASP.NET在线文件和目录管理程序(FSO)

    内容索引:.NET源码,其它类别,FSO,文件管理 fileManage 的在线文件管理程序,主要是通过FSO对文件和目录进行操作,并通过网页实现操作:    1、以“TreeView”形式浏览用户目录下的文件夹(可展开)和文件;  2、...

    IIS文件上传(通过asp文件)

    使用`FileSystemObject`对象可以方便地进行文件操作,例如创建目录、写入文件等。 4. 错误处理与验证:在上传过程中,应检查文件类型、大小等,防止恶意文件上传。同时,处理可能出现的错误,如文件读取失败、磁盘...

    易语言利用FSO对象取文件夹大小

    FSO是Microsoft脚本语言中的一种对象模型,允许程序员对文件系统进行各种操作,如创建、删除、移动文件和目录,以及读取文件属性等。本文将详细讲解如何使用易语言结合FSO对象来获取文件夹的大小。 首先,让我们...

    基于ASP的非零坊Fso统计 v1.1.zip

    总结,"基于ASP的非零坊Fso统计 v1.1.zip"可能是用来统计服务器上特定目录或文件系统的统计信息,利用ASP的FSO对象进行文件和目录的操作,同时结合数据库技术,可能还提供了数据存储和分析的功能。这样的工具对于...

    ASP列出目录及文件代码

    在ASP中,我们可以使用内置的对象和技术来实现对服务器上文件和目录的操作,比如列出目录中的文件。以下将详细介绍如何使用ASP来实现这个功能。 首先,我们需要了解两个核心的ASP对象:`Server`和`FileSystemObject...

    结合FSO操作和Aspjpeg组件写的Class

    ‘***************************** CDS系统 FSO操作类 Beta1 ***************************** ‘调用方法: Set Obj=New FSOControl ‘所有路径必须为绝对路径,请采用Server.MapPath方法转换路径后再定义变量 ...

    ASP创建文件夹复制文件

    在ASP中,我们可以通过VBScript或JScript等脚本语言实现文件操作,包括创建文件夹和复制文件。这些功能在构建网站时非常有用,比如在用户上传文件、备份数据或者进行自动化处理时。 首先,让我们探讨如何在ASP中...

Global site tag (gtag.js) - Google Analytics