cffile

Manages interactions with server files.
Different combinations cause different attributes to be
required.

  <cffile action="read">

 fileRead(path);

cffile Attribute Reference

action string
Required

Type of file manipulation that the tag performs.
Values:
  • append
  • copy
  • delete
  • move
  • read
  • readbinary
  • rename
  • upload
  • uploadall
  • write

file string

Pathname of the file.

mode string

Applies only to UNIX and Linux. Permissions. Octal values
of Unix chmod command. Assigned to owner, group, and
other, respectively.

output string

String to add to the file

addnewline boolean
Default: true

Yes: appends newline character to text written to file
Values:
  • true
  • false

attributes string

Applies to Windows. A comma-delimited list of attributes
to set on the file.

If omitted, the file's attributes are maintained.
Values:
  • readonly
  • hidden
  • normal
  • system
  • temporary

charset string

The character encoding in which the file contents is
encoded.

For more information on character encodings, see:
www.w3.org/International/O-charset.html.
Values:
  • utf-8
  • iso-8859-1
  • windows-1252
  • us-ascii
  • shift_jis
  • iso-2022-jp
  • euc-jp
  • euc-kr
  • big5
  • euc-cn
  • utf-16

source string

Pathname of the file (during copy).

destination string

Pathname of a directory or file on web server
(during copy).

variable string

Name of variable to contain contents of text file.

filefield string

Name of form field used to select the file.

Do not use pound signs (#) to specify the field name.

nameconflict string

Action to take if filename is the same as that of a file
in the directory.
Values:
  • error
  • skip
  • overwrite
  • makeunique

accept string

Limits the MIME types to accept. Comma-delimited list. For
example, to permit JPG and Microsoft Word file uploads:

accept = "image/jpg, application/msword"

result variableName
Default: cffile

Allows you to specify a name for the variable in which cffile
returns the result (or status) parameters. If you do not specify
a value for this attribute, cffile uses the prefix "cffile".

fixnewline string
Default: false

* Yes: changes embedded line-ending characters in string
variables to operating-system specific line endings
* No: (default) do not change embedded line-ending
characters in string variables.
Values:
  • true
  • false

cachedwithin Timespan

Lucee 5+ Timespan, using the CreateTimeSpan function. If original
file date falls within the time span, cached file data is
used. CreateTimeSpan defines a period from the present, back.

Examples sample code using the cffile tag

File Write

fileWrite(expandPath("./myFile.txt"), "Here's some content for my file.");

File Append - There is no fileAppend() so we access the file and use fileWriteLine()

myFile = fileOpen(expandPath("./myFile.txt"), "write"); 
 fileWriteLine(myFile, "Here's some new content."); 
 fileClose(myFile);

File Read

myFile = fileRead(expandPath("./myFile.txt"));

File Read Binary

myImageBinary = fileReadBinary(expandPath("./myImage.jpg"));

File Rename - Since there is no fileRename(), fileMove() works just as well

fileMove(expandPath("./myFile.txt"), expandPath("./myNewFileName.txt"));

File Copy

fileCopy(expandPath("./myFile.txt"), expandPath("./some/other/path"));

File Move

fileMove(expandPath("./myFile.txt"), expandPath("./some/other/path"));

File Delete

fileDelete(expandPath("./myFile.txt"));

File Upload

fileUpload(expandPath("./destination"), "form.myFile", " ", "makeunique");

File Upload All

fileUploadAll(expandPath("./destination"), " ", "makeunique");

File Write

<cffile action="write" file="#expandPath("./myFile.txt")#" output="Here's some content for my file.">

File Append

<cffile action="append" file="#expandPath("./myFile.txt")#" attributes="normal" output="Here's some new content.">

File Read

<cffile action="read" file="#expandPath("./myFile.txt")#" variable="myFile">

File Read Binary

<cffile action="readBinary" file="#expandPath("./myImage.jpg")#" variable="myImageBinary">

File Rename

<cffile action="rename" source="#expandPath("./myFile.txt")#" destination="#expandPath("./myNewFileName.txt")#" attributes="normal">

File Copy

<cffile action="copy" source="#expandPath("./myFile.txt")#" destination="#expandPath("./some/other/path")#">

File Move

<cffile action="move" source="#expandPath("./myFile.txt")#" destination="#expandPath("./some/other/path")#">

File Delete

<cffile action="delete" file="#expandPath("./myFile.txt")#">

File Upload

<cffile action="upload" destination="#expandPath("./destination)#" filefield="form.myFile" nameconflict="makeunique">

File Upload All

<cffile action="uploadall" destination="#expandPath("./destination")#" nameconflict="makeunique">

Fork me on GitHub