Manipulates ZIP and Java Archive (JAR) files. In addition to the basic zip and unzip functions, use the
cfzip tag to delete entries from an archive, filter files, read files in binary format, list the contents of an archive, and specify an entry path used in an executable JAR file.
ColdFusion 11: Added 2 new attributes, password and encryptionalgorithm.
ColdFusion 8: Added this tag.
You can specify this tag's attributes in an
Action to take. Must be one of the following:
default encoding of the host machine
Character set used to translate the ZIP or JAR entry into a text string. Examples of character sets:
Destination directory where the ZIP or JAR file is extracted.
Pathname on which the action is performed.
Absolute pathname of the file on which the action is performed; for example, the full pathname of the ZIP file: c:\temp\log.zip.
File filter applied to the action. The action applies to all files in the specified pathname that match the filter.
Record set name in which the result of the
String added as a prefix to the ZIP or JAR entry. The string is the name of a subdirectory in which the entries are added.
Specifies whether the action applies to subdirectories:
Specifies whether to show the directory structure:
Required (see description)
Source directory to be zipped. Not required if the
Variable in which the content is stored.
|password||zip||Optional||The password to be used for the archive.|
The encryption algorithm to use for compression. The following options are valid:
If only password is provided, the default encryptionAlgorithm will be AES 256-bit.If used with a directory, all files in that directory will be protected with the same password/encryption.
cfzip tag to zip and unzip files and manipulate existing ZIP or JAR files in ColdFusion. You can use the
cfzip tag independently or with one or more
cfzipparam tags to manipulate multiple files or directories. The
cfzip tag is the parent tag of the
The ZIP format is the standard format for file archiving and compression. The JAR format is based on the ZIP format. JAR files are platform-independent.
The cfzip tag does not create directories. If you specify a directory that does not exist, ColdFusion generates an error.
Use the following syntax to specify an in-memory file or directory in any attribute that takes a path. In-memory files are not written to disk and speed processing of transient data.
The filepath can include multiple directories, for example
ram:///petStore/images/dogImages.zip. You must create the directories in the path before you specify the file. For more information on using in-memory files, see Working with in-memory files in Optimizing ColdFusion applications in the Developing ColdFusion Applications.
delete action to delete entries from a ZIP or JAR file.
list action to list the entries of a ZIP or JAR file. The following table shows the types of information you can retrieve for entries in the archive:
Text string description saved with the entry source.
Compressed size of the entry in bytes.
Checksum for the entry source.
Date and time when the source was last modified.
Name of the directory where the entry is stored.
Uncompressed size of the entry source in bytes.
Source type for the entry, for example, file.
You can use the
cfdump tag to list all of the information in a ZIP or JAR file, as the following example shows:
You can use the
cfoutput tag to list individual fields for the entries in an archive, as the following example shows:
read action to read the content of the ZIP or JAR file entry in human-readable format. The
read action uses the
charset value to create the string.
readBinary action to read the content of a ZIP or JAR file in binary format.
unzip action to extract the entries from a ZIP or JAR file.
zip action to create or update a ZIP or JAR file. This is the default action; you do not have to specify it explicitly. If you specify a ZIP or JAR file that does not exist, ColdFusion creates it. If the ZIP or JAR file exists, ColdFusion adds new entries from the source and updates existing entries if they have changed. If you set the
overwrite attribute to
yes, all of the entries in the ZIP or JAR file are replaced by the new content.
The following example shows how to zip image files chosen from a form and e-mail the ZIP file to the person requesting the images.
The first ColdFusion page populates a pop-up menu with the names of artists generated from a database query:
The first action page displays the images by the selected artist, zips the files, and writes the ZIP file to a temporary directory. Also, it includes a form to e-mail the ZIP file:
The second action page mails the ZIP file as an attachment: