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_path_name"
output = "content"
mode = "permission"
addNewLine = "yes" or "no"
attributes = "file_attributes_list"
charset = "charset_option" >
See the History section of the main cffile tag page.
| Attribute | Req/Opt | Default | Description | 
|---|---|---|---|
| action | Required | 
 | Type of file manipulation that the tag performs. | 
| file | Required | 
 | Pathname of the file to write. If not an absolute path (starting a 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 GetTempDirectory function. | 
| output | Required | 
 | Content of the file to be created. | 
| mode | Optional | 
 | Applies only to UNIX and Linux. Permissions. Octal values of UNIX chmod command. Assigned to owner, group, and other, respectively. For example: 
 | 
| addNewLine | Optional | yes | 
 | 
| attributes | 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  
 | 
| charset | 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. | 
| fixnewline | Optional | No | 
 | 
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:\CFusionMX7\wwwroot\test\store.dat" output="#encString#" fixnewline="yes">
<cffile action="read" file="C:\CFusionMX7\wwwroot\test\store.dat" variable="retrievedString">
<cfset decString=decrypt(retrievedString, key)>
<cfdump var="#decString#">
<cfset newXML = xmlParse(decString)>
<cfdump var="#newXML#">