Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Controlling filepaths within a ZipHow to control the filepaths stored within a .zip. require 'chilkat' zip = Chilkat::CkZip.new() # Any string unlocks the component for the 1st 30-days. success = zip.UnlockComponent("Anything for 30-day trial") if (success != true) print zip.lastErrorText() + "\n" exit end # This is the directory structure on the local filesystem # from which we'll create .zip archives: # The root directory is c:\temp\filesToZip # # We have these files: # c:\temp\filesToZip\faxCover.doc # c:\temp\filesToZip\exe\Setup.exe # c:\temp\filesToZip\images\cheese.jpg # c:\temp\filesToZip\images\dude.gif # c:\temp\filesToZip\images\img3.gif # c:\temp\filesToZip\images\img4.gif # c:\temp\filesToZip\images\img5.gif # c:\temp\filesToZip\images\scream.jpg # c:\temp\filesToZip\images\imageInfo\scream.xml # c:\temp\filesToZip\images\imageInfo\cheese.xml # c:\temp\filesToZip\text\html\bonaireFishing.html # c:\temp\filesToZip\text\html\upload.html # c:\temp\filesToZip\text\txt\hello.txt # c:\temp\filesToZip\text\txt\HelloWorld123.txt # c:\temp\filesToZip\text\xml\hamlet.xml # c:\temp\filesToZip\text\xml\pigs.xml # There are three properties to help control the paths stored # within a .zip: # AppendFromDir # PathPrefix # DiscardPaths # # First we'll demonstrate AppendFromDir # When a directory tree is appended via AppendFiles or # AppendFilesEx, the AppendFromDir sets the base of the # directory tree appended (if the file pattern contains a # relative path, or no path at all). # Clear the zip object. zip.NewZip("test1.zip") recurse = true zip.put_AppendFromDir("c:/temp/filesToZip") zip.AppendFiles("*.xml",recurse) # The zip will contain: # images\imageInfo\scream.xml # images\imageInfo\cheese.xml # text\xml\hamlet.xml # text\xml\pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end # Clear the zip object. zip.NewZip("test2.zip") zip.put_AppendFromDir("c:/temp/filesToZip/images") zip.AppendFiles("*.xml",recurse) zip.put_AppendFromDir("c:/temp/filesToZip/text") zip.AppendFiles("*.xml",recurse) # The zip will contain: # imageInfo\scream.xml # imageInfo\cheese.xml # xml\hamlet.xml # xml\pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end # The PathPrefix property adds an arbitrary path prefix to each # file in the .zip. # For example: # Clear the zip object. zip.NewZip("test3.zip") zip.put_PathPrefix("chilkat/") zip.put_AppendFromDir("c:/temp/filesToZip/images") zip.AppendFiles("*.xml",recurse) zip.put_AppendFromDir("c:/temp/filesToZip/text") zip.AppendFiles("*.xml",recurse) # The zip will contain: # chilkat\imageInfo\scream.xml # chilkat\imageInfo\cheese.xml # chilkat\xml\hamlet.xml # chilkat\xml\pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end # The DiscardPaths property removes the path from each file # in the zip: # For example: # Clear the zip object. zip.NewZip("test4.zip") zip.put_PathPrefix("") zip.put_DiscardPaths(true) zip.put_AppendFromDir("c:/temp/filesToZip/") zip.AppendFiles("*",recurse) # The zip will contain: # faxCover.doc # Setup.exe # cheese.jpg # dude.gif # img3.gif # img4.gif # img5.gif # scream.jpg # scream.xml # cheese.xml # bonaireFishing.html # upload.html # hello.txt # HelloWorld123.txt # hamlet.xml # pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end # You can combine PathPrefix with DiscardPaths: # Clear the zip object. zip.NewZip("test5.zip") zip.put_PathPrefix("chilkat/") zip.put_DiscardPaths(true) zip.put_AppendFromDir("c:/temp/filesToZip/") zip.AppendFiles("*",recurse) # The zip will contain: # chilkat\faxCover.doc # chilkat\Setup.exe # chilkat\cheese.jpg # chilkat\dude.gif # chilkat\img3.gif # chilkat\img4.gif # chilkat\img5.gif # chilkat\scream.jpg # chilkat\scream.xml # chilkat\cheese.xml # chilkat\bonaireFishing.html # chilkat\upload.html # chilkat\hello.txt # chilkat\HelloWorld123.txt # chilkat\hamlet.xml # chilkat\pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end # One last example -- combine DiscardPaths with PathPrefix # with multiple calls to AppendFiles: # Clear the zip object. zip.NewZip("test6.zip") zip.put_DiscardPaths(true) zip.put_AppendFromDir("c:/temp/filesToZip/") # Get all .gif files: zip.put_PathPrefix("gif/") zip.AppendFiles("*.gif",recurse) # Get all .jpg files: zip.put_PathPrefix("jpg/") zip.AppendFiles("*.jpg",recurse) # Get all .xml files: zip.put_PathPrefix("xml/") zip.AppendFiles("*.xml",recurse) # The zip will contain: # jpg\cheese.jpg # gif\dude.gif # gif\img3.gif # gif\img4.gif # gif\img5.gif # jpg\scream.jpg # xml\scream.xml # xml\cheese.xml # xml\hamlet.xml # xml\pigs.xml success = zip.WriteZipAndClose() if (success != true) print zip.lastErrorText() + "\n" exit end |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.