Provides additional information to the cfzip tag.
The cfzipparam tag is always a child tag of the cfzip tag.
ColdFusion 8: Added this tag.
<cfzip ..> <cfzipparam charset = "encoding type
" content = "variable name
" entryPath = "full pathname
" filter = "file filter
" prefix = "string
" recurse = "yes|no" source = "source directory
"> </cfzip>
cfzip
Attribute |
Req/Opt |
Default |
Description |
---|---|---|---|
charset |
Optional |
default encoding of the host machine |
Converts string content into binary data before putting it into a ZIP or JAR file. Used only when cfzip action="zip" and the cfzipparam content is a string. Examples of character sets:
|
content |
Optional |
|
Content written to the ZIP or JAR entry. Used only when cfzip action="zip". Valid content data types are binary and string. If you specify the content attribute, you must specify the entrypath attribute. |
entryPath |
Optional |
|
Pathname used:
|
filter |
Optional |
|
File filter applied to the action. For example, for the zip action, all the files in the source directory that match the filter are zipped. |
prefix |
Optional |
|
String added as a prefix to the ZIP or JAR entry. Used only when cfzip action="zip". |
recurse |
Optional |
yes |
Include the directory to be zipped, unzipped, or deleted, as specified by the cfzip parent tag. |
source |
Optional |
|
Source directory or file. Used only when cfzip action="zip". Specified files are added to the ZIP or JAR file:
|
Use the cfzipparam tag with the cfzip tag to zip, extract, or delete multiple files or directories. For example, to zip multiple directories, specify a cfzipparam tag for each source directory.
Example 1
<!--- This example shows how to zip class files from one subdirectory and class and property files from another directory into a JAR file. ---> <cfzip file="c:\util.jar" source="c:\myproj\classes"> <cfzipparam source="com\abc\util" filter="*.class"> <cfzipparam source="com\abc\io" filter="*.class, *.properties"> </cfzip>
Example 2
<!--- This example shows how to update a ZIP file with files from multiple locations, each with a different filter. ---> <cfzip file="e:\work\test.jar" action="zip"> <cfzipparam source="c:\temp\abc.txt" prefix="com\abc"> <cfzipparam source="c:\src\classes" recurse="yes" filter="*.class,*.properties" prefix="classes"> <cfzipparam source="c:\src\Manifest.MF" entrypath="META-INF\MANIFEST"> </cfzip>
Example 3
<!--- This example shows how to insert the string format for a programmatically generated XML file into a ZIP file. ---> <!--- Create a variable that specifies a time-out period. ---> <cfset myDoc="<system-config><timeout>1500</timeout><pool-max-size>30 </pool-max-size></system-config>"> <!--- Zip the file. ---> <cfzip file="e:\work\test.zip" action="zip"> <cfzipparam source="c:\src\Manifest.MF" entrypath="META-INF\MANIFEST"> <cfzipparam content="#myDoc#" entrypath="system-config.xml"> </cfzip>
Example 4
<!--- This example shows how to update a JAR file with a new version of the file and add some new files to the JAR file. ---> <cfzip file="e:\work\admin.jar"> <cfzipparam source="c:\src\classes" recurse="yes" filter="*.class,*.properties"> <cfzipparam source="c:\src\Manifest.MF" entrypath="META-INF\MANIFEST"> </cfzip>
Example 5
The following example shows how to zip multiple 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 following code creates a form for selecting images. ---> <h3>Select the images</h3> <p>Please choose the images you would like sent to you.</p> <!--- Create the ColdFusion form to select the images. ---> <table> <cfform action="zip2_action.cfm" method="post" enctype="multipart/form-data"> <tr> <td><img src="../cfdocs/images/artgallery/elecia01.jpg"/><br/> <cfinput type="checkbox" name="ck1" Value=1>Cube</td> <td><img src="../cfdocs/images/artgallery/elecia02.jpg"/><br/> <cfinput type="checkbox" name="ck2" Value=1>Pentagon</td> <td><img src="../cfdocs/images/artgallery/elecia03.jpg"/><br/> <cfinput type="checkbox" name="ck3" Value=1>Surfer Dude</td> <td><img src="../cfdocs/images/artgallery/elecia04.jpg"/><br/> <cfinput type="checkbox" name="ck4" Value=1>Surfer Girl</td></tr> <tr><td><cfinput type = "Submit" name = "OK" label="OK"></td></tr> </table> </cfform>
The first action page zips the files selected from the form, and writes the ZIP file to the hard drive. Also, it includes a form to e-mail the ZIP file:
<!--- Determine the absolute pathname on the server. ---> <cfset thisDir = ExpandPath(".")> <!--- Create a ZIP file based on the selections from the form. Use the cfzipparam tag to specify the source for each check box selection. ---> <cfzip file="c:\images.zip" source="#thisDir#" action="zip" overwrite="yes"> <cfif IsDefined("form.ck1")> <cfzipparam source="../cfdocs/images/artgallery/elecia01.jpg"> </cfif> <cfif IsDefined("form.ck2")> <cfzipparam source="../cfdocs/images/artgallery/elecia02.jpg"> </cfif> <cfif IsDefined("form.ck3")> <cfzipparam source="../cfdocs/images/artgallery/elecia03.jpg"> </cfif> <cfif IsDefined("form.ck4")> <cfzipparam source="../cfdocs/images/artgallery/elecia04.jpg"> </cfif> </cfzip> <h3>Mail the ZIP File</h3> <p>Please enter your e-mail address so we can send you the ZIP file as an attachment.</p> <cfif IsDefined("form.mailto")> <cfif form.mailto is not "" > <cfoutput> <cfmail from="coldfusion@adobe.com" to="#form.mailto#" subject="see zipped attachment"> The images you requested are enclosed in a ZIP file. <cfmailparam file="#thisDir#/images.zip"> </cfmail> </cfoutput> </cfif> </cfif> <cfform action = "zipArt_action2.cfm" method="post"> Your e-mail address: <cfinput type = "Text" name = "MailTo"> <!--- Specify the required field. ---> <cfinput type = "hidden" name = "MailTo_required" value = "You must enter your email address"> <cfinput type = "hidden" name="zipPath" value = "c:\images.zip"> <p><cfinput type = "Submit" name = "OK" label="Mail"> </cfform>
The second action page mails the ZIP file as an attachment:
<h3>Mail the ZIP file</h3> <p>Your file has been mailed to you.</p> <cfset eMail="#form.MailTo#"> <cfset zipPath="#form.zipPath#"> <cfmail from="coldfusion@adobe.com" to="#eMail#" subject="see zipped attachment"> The images you requested are enclosed in a ZIP file. <cfmailparam file="#zipPath#"> </cfmail>