Writes a text file on the server, based on dynamic content. You can create static HTML files from the content, or log actions in a text file.
<cffile
action = "write"
file = "full pathname"
output = "content"
addNewLine = "yes|no"
attributes = "file attributes list"
charset = "character set option"
fixnewline = "yes|no"
mode = "permission">
attributeCollection attribute
whose value is a structure. Specify the structure name in the attributeCollection attribute
and use the tag’s attribute names as structure keys.See
the History section of the main cffile tag page.
Attribute |
Req/Opt |
Default |
Description |
|---|---|---|---|
|
Required |
Type of file manipulation that the tag performs. |
|
|
Required |
Pathname of the file to write. If
not an absolute path (starting with a drive letter and a colon,
or a forward or backward slash), it is relative to the ColdFusion
temporary directory, which is returned by the |
|
|
Required |
Content of the file to be created. |
|
|
Optional |
yes |
|
|
Optional |
Applies to Windows. A comma-delimited list of attributes to set on the file. If omitted, the file’s attributes are maintained. Each value must be specified explicitly. For
example, if you specify
|
|
|
Optional |
JVM default file character set |
The character encoding in which the file contents is encoded. The following list includes commonly used values:
For more information character encodings, see www.w3.org/International/O-charset.html. |
|
Optional |
|
|
|
Optional |
Applies only to UNIX and Linux. Permissions. Octal values of UNIX chmod command. Assigned to owner, group, and other, respectively; for example:
|
This example creates a file with information a user entered in an HTML insert form:
<cffile action = "write"
file = "c:\files\updates\#Form.UpdateTitle#.txt"
output = "Created By: #Form.FullName#
Date: #Form.Date#
#Form.Content#">
If the user submitted a form with the following:
UpdateTitle = "FieldWork" FullName = "World B. Frueh" Date = "10/30/01" Content = "We had a wonderful time in Cambridgeport."
ColdFusion would create a file named FieldWork.txt in the c:\files\updates\ directory and the file would contain the following text:
Created By: World B. Frueh
Date: 10/30/01
We had a wonderful time in Cambridgeport.
This example
shows the use of the mode attribute for UNIX. It
creates the file /tmp/foo with permissions rw-r--r-- (owner = read/write,
group = read, other = read):
<cffile action = "write"
file = "/tmp/foo"
mode = 644>
This example appends to the file and sets permissions to read/write (rw) for all:
<cffile action = "append"
destination = "/home/tomj/testing.txt"
mode = 666
output = "Is this a test?">
This example uploads a file and gives it the permissions owner/group/other = read/write/execute):
cffile action = "upload"
fileField = "fieldname"
destination = "/tmp/program.exe"
mode = 777>
This example uses the fixnewline attribute
to changes embedded line-ending characters in xmlString,
which is derived from xmlData, to operating-system
specific line endings.
<cfxml variable="xmlData">
<docroot>
<payload type="string">This is some plain text</payload>
</docroot>
</cfxml>
<cfset xmlString = toString(xmlData)>
<cfset key = createUUID()>
<cfset encString=encrypt(xmlString, key)>
<cffile action="write" addnewline="yes"
file="C:\ColdFusion9\wwwroot\test\store.dat"
output="#encString#" fixnewline="yes">
<cffile action="read" file="C:\ColdFusion9\wwwroot\test\store.dat"
variable="retrievedString">
<cfset decString=decrypt(retrievedString, key)>
<cfdump var="#decString#">
<cfset newXML = xmlParse(decString)>
<cfdump var="#newXML#">
ColdFusion supports
using cffile to write an image, for example:
<!--- Create a new cfimage. --->
<cfset myImage=ImageNew("",200,200)>
<!--- Draw a square on the image. --->
<cfset ImageDrawRect(myImage,10,10,100,100)>
<!--- Use cffile to write the cfimage to a JPG. --->
<cffile action="write" output="#myImage#" file="c:\cfpix\square.jpg">