Manages interactions with server files. Different combinations cause different attributes to be required.
<cffile action="read">
fileRead(path);
Name | Type | Required | Default | Description |
---|---|---|---|---|
action | string | Yes | Type of file manipulation that the tag performs. | |
file | string | No | Pathname of the file. | |
mode | string | No | Applies only to UNIX and Linux. Permissions. Octal values of Unix chmod command. Assigned to owner, group, and other, respectively. |
|
output | string | No | String to add to the file | |
addnewline | boolean | No | YES | Yes: appends newline character to text written to file |
attributes | string | No | Applies to Windows. A comma-delimited list of attributes to set on the file. If omitted, the file’s attributes are maintained. |
|
charset | string | No | The character encoding in which the file contents is encoded. For more information on character encodings, see: www.w3.org/International/O-charset.html. |
|
source | string | No | Pathname of the file (during copy). | |
destination | string | No | Pathname of a directory or file on web server (during copy). |
|
variable | string | No | Name of variable to contain contents of text file. | |
filefield | string | No | Name of form field used to select the file. Do not use pound signs (#) to specify the field name. |
|
nameconflict | string | No | Action to take if filename is the same as that of a file in the directory. |
|
accept | string | No | 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 | No | 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 | No | NO | * 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. |
cachedwithin | numeric | No | Lucee5+ 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. |
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"), "append");
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(getTempDirectory(), "form.myFile", " ", "makeunique");
File Upload All
fileUploadAll(getTempDirectory(), " ", "makeunique");
Write the contents of a variable to a file.
<cffile action="write" file="#expandPath("./myFile.txt")#" output="Here's some content for my file.">
Append content to the end of a file.
<cffile action="append" file="#expandPath("./myFile.txt")#" attributes="normal" output="Here's some new content.">
Read a file into a variable
<cffile action="read" file="#expandPath("./myFile.txt")#" variable="myFile">
File Read Binary
<cffile action="readBinary" file="#expandPath("./myImage.jpg")#" variable="myImageBinary">
Rename a file
<cffile action="rename" source="#expandPath("./myFile.txt")#" destination="#expandPath("./myNewFileName.txt")#" attributes="normal">
Copy a file
<cffile action="copy" source="#expandPath("./myFile.txt")#" destination="#expandPath("./some/other/path")#">
Move a file
<cffile action="move" source="#expandPath("./myFile.txt")#" destination="#expandPath("./some/other/path")#">
Delete a file
<cffile action="delete" file="#expandPath("./myFile.txt")#">
Upload the file contained in the myFile field. Always upload to a directory outside of the webroot, validate the file extension, file content and then only if necessary copy it back to the web root.
<cffile action="upload" destination="#getTempDirectory()#" filefield="form.myFile" nameconflict="makeunique">
CF10+ Checks file extensions against a whitelist of allowed file extensions. You must set strict=false
when specifying a file extension list.
<cffile action="upload" accept=".png,.jpg" strict="false" destination="#getTempDirectory()#" filefield="form.myFile" nameconflict="makeunique">
Upload all files in the form scope.
<cffile action="uploadall" destination="#getTempDirectory()#" nameconflict="makeunique">