| ColdFusion 9.0 Resources | cffile action = "write"DescriptionWrites 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. Syntax<cffile  
    action = "write"  
    file = "full pathname" 
    output = "content" 
    addNewLine = "yes|no" 
    attributes = "file attributes list" 
    charset = "character set option"  
    fixnewline = "yes|no" 
    mode = "permission">Note:  You
can specify this tag’s attributes in an 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. Attributes
 ExampleThis 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"> |