Using cfdirectory

Use the cfdirectory tag to return file information from a specified directory and to create, delete, and rename directories. When listing directory contents or deleting a directory, you can optionally use the recurse attribute to access or delete all subdirectories.

As with cffile, you can disable cfdirectory processing in the ColdFusion MX Administrator. For details on the syntax of this tag, see CFML Reference.

Returning file information

When you use the action="list" attribute setting, cfdirectory returns a query object as specified in the name attribute. The name attribute is required when you use the action="list" attribute setting. This query object contains result columns that you can reference in a cfoutput tag, using the value specified in the name attribute:

name Directory entry name.

directory Directory containing the entry.

size Directory entry size.

type File type: File or Dir.

dateLastModified Date an entry was last modified.

attributes (Windows only) File attributes, if applicable.

mode (UNIX only) The octal value representing the permissions setting for the specified directory.

Note: ColdFusion supports the ReadOnly and Hidden values for the attributes attribute for cfdirectory sorting.

Depending on whether your server is on a UNIX system or a Windows system, either the Attributes column or the Mode column is empty. Also, you can specify a filename in the filter attribute to get information on a single file.

The following procedure describes how to create a ColdFusion page in which to view directory information.

To view directory information:

  1. Create a ColdFusion page with the following content:
    <html>
    <head>
    	<title>List Directory Information</title>
    </head>
    
    <body>
    <h3>List Directory Information</h3>
    <cfdirectory
    	directory="c:\inetpub\wwwroot\mine"
    	name="mydirectory"
    	sort="size ASC, name DESC, datelastmodified">
    
    <table cellspacing=1 cellpadding=10>
    <tr>
    	<th>Name</th>
    	<th>Size</th>
    	<th>Type</th>
    	<th>Modified</th>
    	<th>Attributes</th>
    	<th>Mode</th>
    </tr>
    <cfoutput query="mydirectory">
    <tr>
    	<td>#mydirectory.name#</td>
    	<td>#mydirectory.size#</td>
    	<td>#mydirectory.type#</td>
    	<td>#mydirectory.dateLastModified#</td>
    	<td>#mydirectory.attributes#</td>
    	<td>#mydirectory.mode#</td>
    </tr>
    </cfoutput>
    </table>
    
    </body>
    </html>
    
  2. Modify the path C:\inetpub\wwwroot\mine so that it points to a directory on your server.
  3. Save the file as directoryinfo.cfm in the myapps directory under your web_root and view it in the browser:


    Results of viewing directoryinfo.cfm in a browser.