Sample code for 30+ languages & platforms
Visual FoxPro

Modify Name of File Stored within Zip when Creating a .zip

See more Zip Examples

Demonstrates how to create a zip where the filename within the .zip is different than the filename that was added from the filesystem.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loZip
LOCAL lnSaveExtraPath
LOCAL loEntry

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loZip = CreateObject('Chilkat.Zip')

* Intialize the zip object by calling NewZip.
lnSuccess = loZip.NewZip("myZip.zip")

* Add a reference to a file on disk to the zip object.
* (When appending files to a zip, the files are not actually
* read into memory.  References to the file(s) are added.
* When WriteZip is called, the referenced files are streamed in
* and compressed to the .zip.)
lnSaveExtraPath = 0
lnSuccess = loZip.AddFile("/temp/a/hamlet.xml",lnSaveExtraPath)
IF (lnSuccess = 0) THEN
    ? loZip.LastErrorText
    RELEASE loZip
    CANCEL
ENDIF

* The zip object references a single file.
* Retrieve the entry object...
loEntry = CreateObject('Chilkat.ZipEntry')
loZip.EntryAt(0,loEntry)

* Set the entry's filename to anything you want:
loEntry.FileName = "somethingElse.xml"

* Note: Internally, the zip component retains the name of
* the file referenced.  The current setting of the zip entry's
* FileName property is stored in the .zip when writing.

* The zip written here will contain somethingElse.xml
lnSuccess = loZip.WriteZipAndClose()
IF (lnSuccess <> 1) THEN
    ? loZip.LastErrorText
ELSE
    ? "Zip created!"
ENDIF

RELEASE loZip
RELEASE loEntry