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#">