Při vývoji ASP aplikace je občas potřeba provádět manipulace se soubory. Active Server Pages poskytují pro tento účel objekt FileSystemObject, který slouží k otvírání, zavírání a manipulaci se soubory. Pomocí tohoto objektu lze soubory kopírovat, přesouvat, ale i mazat.

Objekt FileSystemObject umožňuje

  • Přesunout soubor (metoda MoveFile)
  • Zkopírovat soubor (metoda CopyFile)
  • Smazat soubor (metoda DeleteFile)
  • Otestovat zda soubor existuje (metoda FileExist)
  • Vytvořit textový soubor (metoda CreateTextFile)
  • Otevřít textový soubor (metoda OpenTextFile)
  • Zjistit vlastnosti souboru (atributy, datum vytvoření, velikost atd.)


    Dim ObjFS
    ‚ Vytvoření instance objektu FileSystemObject
    Set ObjFS=Server.CreateObject(„Scripting.FileSystemObject“)

    K vytvoření instance jsme použili metodu CreateObject z objektu Server. Tato metoda má jediný parametr a to sice identifikaci objektu, jehož instanci má vytvořit.
    V příkladech je dále použita metoda MapPath opět z objektu Server. Tato metoda umožnuje převést jméno virtuálního adresáře na fyzickou cestu.

    dim cesta cesta=Sever.MapPath(„/adresar“)

    Pokud máme v kořeni virtuálního webu adresář, který se jmenuje „adresar“ a kořen webu se nachází v adresáři „g:/InetPub/WwwRoot/Web/“ je v proměnné cesta vrácen řetězec „g:/InetPub/WwwRoot/Web/adresar“.
    Jesliže je, ale „adresar“ definován jako virtuální a fyzicky se nachází na „d:/data“ vrátí nám metoda MapPath řetezec „d:/data“.

    1. Přesun souboru
    Metoda MoveFile slouží pro přesun souboru z jednoho místa na druhé.

    ObjFS.MoveFile source, destination

    Source – specifikuje soubory pro přesun. Ve specifikaci lze použít hvězdičkové konvence pro zadání jména souboru (např *.doc)
    Destination – specifuje jméno kopie.Zde nelze použít hvězdickové konvence. Pokud je v source použita hvězdičková konvence musí musí být zde uvedena cesta do adresáře ukončená „\“ kam se mají soubory přesunout

    Dim ObjFS
    ‚ Vytvoření instance objektu FileSystemObject
    Set ObjFS= Server.CreateObject(„Scripting.FileSystemObject“)
    ‚Test zda soubor existuje
    If ObjFS.FileExists(server.MapPath(„\soubory“)&“\soubor.txt“ )
    ObjFS.MoveFile (server.MapPath(„\soubory“)&“\soubor.txt“ ),server.MapPath(„\zalohy“)&“\“ )
    end if

    2. Kopie souboru
    Metoda CopyFile slouží pro vytvoření kopie jednoho nebo více souboru.

    ObjFS.CopyFile source, destination[,overwrite]

    Source – specifikuje soubory pro kopírování. Ve specifikaci lze použít hvězdičkové konvence pro zadání jména souboru (např *.doc)
    Destination – specifuje jméno kopie.Zde nelze použít hvězdickové konvence. Pokud je v source použita hvězdičková konvence musí musí být zde uvedena cesta do adresáře ukončená „\“ kam se mají soubory nakopírovat
    Owerwrite – nepovinný parametr, který určuje zda má (True) či nemá (False) být soubor přepsán pokud existuje. Pokud je parametr vynechán je soubor v případě existence přepsán.

    Dim ObjFS
    ‚ Vytvoření instance objektu FileSystemObject
    Set ObjFS= Server.CreateObject(„Scripting.FileSystemObject“)
    ‚Test zda soubor existuje
    If ObjFS.FileExists(server.MapPath(„\soubory“)&“\soubor.txt“ )
    ObjFS.CopyFile (server.MapPath(„\soubory“)&“\soubor.txt“ ),server.MapPath(„\zalohy“)&“\“ ,True)
    end if>

    Script provede otestování zda soubor existuje a pokud ano tak ho zkopiruje z adresáře „soubory“ soubor „soubor.txt“ do adresáře „zaloha“

    3. Smazání souboru
    Metoda DeleteFile nám dává možnost smazat soubor.

    ObjFS.DeleteFile filespec[,force]

    Filespec – specifikuje soubor(y) pro smazání. Ve jménu souboru lze použít hvězdičkové konvence
    Force – nepovinný parametr, který určuje, zda mají (True) či nemají (False) být smazány soubory, které mají atribut Read-Only. Pokud je paramatr vynechán soubory s atributem Read-Only nebudou smazány.

    Dim ObjFS
    ‚ Vytvoření instance objektu FileSystemObject
    Set ObjFS= Server.CreateObject(„Scripting.FileSystemObject“)
    ‚Test zda soubor existuje
    If ObjFS.FileExists(server.MapPath(„\soubory“)&“\soubor.txt“ )
    ObjFS.MoveFile (server.MapPath(„\soubory“)&“\soubor.txt“ ),True)
    end if

    Script provede otestování zda soubor existuje a pokud ano tak ho smaže i když bude mít atribut Read-Only

    4. Test existence souboru
    Ve výše uvedených příkladech byla použita metoda FileExist pro testování existence souboru.

    ObjFS.FileExist(filespec)

    Filespec – specifikuje soubor pro test existence.
    Pokud soubor existuje metoda vrací True, v opačném případě vrací False

    5. Ukončení práce s FileSystemObject
    Pokud již objekt nepotřebujete, je třeba ho odstranit z paměti.

    Set ObjFS= Nothing

    To je pro dnešek vše. V příštích článcích se budu zabývat prací s textovými soubory a zjištováním vlastností souboru.

    Starší komentáře ke článku

    Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

  • Žádný příspěvek v diskuzi

    Odpovědět