cffile

Description

Manages interactions with files on the ColdFusion server.

The following sections describe the actions of the cffile tag:

Note:   To execute, this tag must be enabled in the ColdFusion Administrator. For more information, see Administering ColdFusion MX.

If your ColdFusion applications run on a server used by multiple customers, consider the security of the files that could be uploaded or manipulated by cffile. For more information, see Administering ColdFusion MX.

Category

File management tags

Syntax

The tag syntax depends on the action attribute value. See the following sections.

See also

cfdirectory

History

New in ColdFusion MX: ColdFusion does not require that you put files and directories that you manipulate with this tag below the root of the web server document directory.

New in ColdFusion MX: A directory path that you specify in the destination attribute does not require a trailing slash.

New in ColdFusion MX: on Windows platforms, the temporary, archive, and system values of the attributes attribute are deprecated. Do not use them in new applications. They might not work, and might cause an error, in later releases.

New in ColdFusion MX: The action attribute options read, write, append and move support a new attribute, charset.

Example

<!--- This shows how to write, read, update, and delete a file using CFFILE --->
This is a view-only example. 
<!--- 
<cfif IsDefined("form.formsubmit") is "Yes"> 
  <!--- form has been submitted, now do the action ---> 
  <cfif form.action is "new"> 
    <!--- make a new file ---> 
    <cffile       action="Write" 
      file="#GetTempDirectory()#foobar.txt" 
      output="#form.the_text#"> 
  </cfif> 
  <cfif form.action is "read"> 
    <!--- read existing file ---> 
    <cffile       action="Read" 
        file="#GetTempDirectory()#foobar.txt" 
        variable="readText"> 
  </cfif> 

  <cfif form.action is "add"> 
    <!--- update existing file ---> 
    <cffile       action="Append" 
      file="#GetTempDirectory()#foobar.txt" 
      output="#form.the_text#"> 
  </cfif> 

  <cfif form.action is "delete"> 
    <!--- delete existing file ---> 
    <cffile     action="Delete" 
      file="#GetTempDirectory()#foobar.txt"> 
  </cfif> 
</cfif> 
<!--- set some variables ---> 
<cfparam   name="fileExists"   default="no"> 
<cfparam name="readText" default=""> 
<!--- first, check if canned file exists ---> 
<cfif FileExists("#GetTempDirectory()#foobar.txt") is "Yes"> 
  <cfset fileExists="yes"> 
</cfif> 
<!--- now, make the form that runs the example ---> 
<form action="index.cfm" method="POST"> 
<h4>Type in some text to include in your file:</h4> <p> 
<cfif fileExists is "yes"> 
  A file exists (foobar.txt, in <cfoutput>#GetTempDirectory()#</cfoutput>). 
  You may add to it, read from it, or delete it. 
</cfif> <
!--- if reading from a form, let that information display in textarea ---> 
<textarea name="the_text" cols="40" rows="5"> 
  <cfif readText is not ""> 
    <cfoutput>#readText#</cfoutput> 
  </cfif></textarea> 
<!--- select from the actions depending on whether the file exists ---> 
<select name="action"> 
<cfif fileExists is "no"> 
  <option value="new">Make new file 
</cfif> 
<cfif fileExists is "yes"> 
  <option value="add">Add to existing file 
  <option value="delete">Delete file 
  <option value="read">Read existing file 
</cfif> 
</select> 
<input type="Hidden" name="formsubmit" value="yes"> 
<input type="Submit" name="" value="make my changes"> 
</form> --->

Comments