PureBasic
PureBasic
Add Files to a ZIP Using AddFile
See more Zip Examples
This example demonstrates how to use the AddFile method to add files from the local filesystem to a ZIP archive.
The example adds two files:
- One file with its relative directory path preserved
- One file stored using only its filename
The AddFile method adds references to local filesystem files. The files are not actually read or compressed until a Write* method is called.
Chilkat PureBasic Downloads
IncludeFile "CkZip.pb"
Procedure ChilkatExample()
success.i = 0
zip.i = CkZip::ckCreate()
If zip.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkZip::ckNewZip(zip,"addFileExample.zip")
If success = 0
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Add a file and preserve its relative directory structure
; within the ZIP archive.
;
; The following file:
; c:/projects/app/docs/readme.txt
;
; Will be stored in the ZIP as:
; projects/app/docs/readme.txt
;
saveExtraPath.i = 1
success = CkZip::ckAddFile(zip,"c:/projects/app/docs/readme.txt",saveExtraPath)
If success = 0
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Add a file using only the filename in the ZIP archive.
;
; The following file:
; c:/temp/logo.png
;
; Will be stored in the ZIP as:
; logo.png
;
saveExtraPath = 0
success = CkZip::ckAddFile(zip,"c:/temp/logo.png",saveExtraPath)
If success = 0
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
; Write the ZIP archive to disk and close it.
; The source files are consumed at this time.
success = CkZip::ckWriteZipAndClose(zip)
If success = 0
Debug CkZip::ckLastErrorText(zip)
CkZip::ckDispose(zip)
ProcedureReturn
EndIf
Debug "ZIP archive created successfully."
CkZip::ckDispose(zip)
ProcedureReturn
EndProcedure