Manages interactions with directories.
Note: For this tag execute, it must be enabled in the ColdFusion Administrator. For more information, see Administering ColdFusion MX.
If you put ColdFusion applications on a server that is used by multiple customers, you must consider the security of files and directories that could be uploaded or otherwise manipulated with this tag by unauthorized users. For more information about securing ColdFusion tags, see Administering ColdFusion MX.
<cfdirectory action = "directory action" directory = "directory name" name = "query name" filter = "list filter" mode = "permission" sort = "sort specification" newDirectory = "new directory name">
New in ColdFusion MX: On Windows, if cfdirectory action = "list"
, this tag does not return the directory entries "."
(dot) or ".."
(dot dot), which represent "the current directory" and "the parent directory." (In earlier releases, ColdFusion returned these entries.)
<cfdirectory action = "list"
directory ="c:\" name="foo>
Files in c:\<br>
<cfloop query = "foo" startrow = 3>
#name#<br>
>
<cfdirectory directory="c:\" name="foo">
Files in c:\<br>
<cfoutput query="foo">
<cfif NOT foo.name is "." AND NOT foo.name is "..">
#name#<br>
</cfif>
</cfoutput>
If action = "list"
, cfdirectory
returns these result columns, which you can reference in a cfoutput
tag:
name
: directory entry name. The entries "."
and ".."
are not returned.
size
: directory entry sizetype
: file type: File, for a file; Dir, for a directorydateLastModified
: the date that an entry was last modifiedattributes
: file attributes, if applicablemode
: (UNIX and Linux only) see the UNIX man
pages, chmod
shell command.You can use the following result columns in standard CFML expressions, preceding the result column name with the query name:
#mydirectory.name#
#mydirectory.size# #mydirectory.type# #mydirectory.dateLastModified# #mydirectory.attributes# #mydirectory.mode#
<h3>cfdirectory Example</h3> <!--- use cfdirectory to give the contents of the snippets directory, order by name and size (you may need to modify this path) ---> <cfdirectory directory="#GetDirectoryFromPath(GetTemplatePath())#" name="myDirectory" sort="name ASC, size DESC"> <!---- Output the contents of the cfdirectory as a cftable -----> <cftable query="myDirectory" htmltable colheaders> <cfcol header="NAME:" text="#Name#"> <cfcol header="SIZE:" text="#Size#"> </cftable>