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.

This tag may have a body.

This tag is also supported within <cfscript>

Attribute Description Default
string, optional

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.

string, optional

Optional when passing a filter pattern. This value is used as a delimiter for the patterns. Default is the pipe "|" character.

string, optional

The character set used to translate the ZIP or JAR entry into a text string. Examples of character sets are: JIS RFC1345 UTF-16 (optional, default=encoding of the host machine)

string, optional

Source directory to be zipped. Not required if cfzipparam is specified.

any, optional

Optional filter. Can be either a wildcard filter, e.g. "m*", or a UDF/Closure which accepts the file/directory name and returns a boolean value to indicate whether that item should be included in the result or not.

string, optional

Variable in which the read content is stored.

boolean, optional

Specifies whether the action applies to subdirectories: yes: includes subdirectories. no: does not include subdirectories. (optional, default=yes)

boolean, optional

zip: Specifies whether pathnames are stored in the ZIP or JAR file: yes: pathnames of entries are stored in the ZIP or JAR file. no: pathnames of the entries are not stored in the ZIP or JAR file. All the files are placed at the root level. In case of a name conflict, the last file in the iteration is added. unzip: Specifies whether files are stored at the entrypath: yes: the files are extracted to the entrypath. no: the entrypath is ignored and all the files are extracted at the root level. (optional, default= yes)

boolean, optional

yes: lists the directories. no: does not list directories. (optional, default= no)

string, optional

Absolute pathname of the file on which the action is performed. For example, the full pathname of the ZIP file: c:\temp\log.zip.

string, optional

Record set name in which the result of the list action is stored. The record set columns are: name: filename of the entry in the JAR file. For example, if the entry is help/docs/index.htm, the name is index.htm. directory: directory containing the entry. For the example above, the directory is help/docs. You can obtain the full entry name by concatenating directory and name. If an entry is at the root level, the directory is empty (''). size: uncompressed size of the entry, in bytes. compressedSize: compressed size of the entry, in bytes. type: type of entry (directory or file). dateLastModified: last modified date of the entry, cfdate object. comment: any comment, if present, for the entry. crc: crc-32 checksum of the uncompressed entry data.

string, optional

Pathname on which the action is performed.

boolean, optional

unzip: Specifies whether to overwrite the extracted files: yes: if the extracted file already exists at the destination specified, the file is overwritten. no: if the extracted file already exists at the destination specified, the file is not overwritten and that entry is not extracted. The remaining entries are extracted. zip: Specifies whether to overwrite the contents of a ZIP or JAR file: yes: overwrites all of the content in the ZIP or JAR file if it exists. no: updates existing entries and adds new entries to the ZIP or JAR file if it exists. (optional, default=no)

string, optional

Destination directory where the ZIP or JAR file is extracted.

string, optional

The action to take.


><!--- body --->[</cfzip>]


Simple format for cfzip

<cfzip action="unzip" destination="#gettempdirectory()#" file="zippath">

See also