ExpandPath |
Description
Creates an absolute, platform-appropriate path that is equivalent to the value of relative_path, appended to the base path. This function (despite its name) can accept an absolute or relative path in the relative_path attribute
The base path is the currently executing page's directory path. It is stored in pageContext.getServletContext().
Returns
A string. If the relative path contains a trailing forward slash or backward slash, the return value contains the same trailing character.
Category
System functions
Function syntax
    ExpandPath(relative_path)
See also
FileExists, GetCurrentTemplatePath, GetFileFromPath
History
ColdFusion MX: Changed behavior for the relative_path attribute: this function can now accept an absolute or relative path in the relative_path attribute. To resolve a path, this function uses virtual mappings that are defined in the ColdFusion Administrator. This function does not reliably use virtual mappings that are defined in IIS, Apache, or other Web servers.
Parameters
Parameter | Description
relative_path | Relative or absolute directory reference or file name, within the current directory,
| (.\ and ..\) to convert to an absolute path. Can include forward backward
| slashes.CFEG oldbug 4653
Usage
If the parameter or the returned path is invalid, the function throws an error.
These examples show the valid constructions of relative_path: ExpandPath( "*.*") ExpandPath( "/") ExpandPath( "\") ExpandPath( "/mycfpage.cfm") ExpandPath( "mycfpage.cfm") ExpandPath( "myDir/mycfpage.cfm") ExpandPath( "/myDir/mycfpage.cfm") ExpandPath( "../../mycfpage.cfm")
Example
    <h3>ExpandPath Example - View Only</h3>
    <!---
    <cfset thisPath=ExpandPath("*.*")>
    <cfset thisDirectory=GetDirectoryFromPath(thisPath)>
    <cfoutput>
    The current directory is: #GetDirectoryFromPath(thisPath)#

    <cfif IsDefined("form.yourFile")>
    <cfif form.yourFile is not "">
    <cfset yourFile = form.yourFile>
       <cfif FileExists(ExpandPath(yourfile))>
       <p>Your file exists in this directory. You entered
       the correct file name, #GetFileFromPath("#thisPath#/#yourfile#")#
       <CFELSE>
       <p>Your file was not found in this directory:
       <br>Here is a list of the other files in this directory:
       <!--- use CFDIRECTORY to give the contents of the
       snippets directory, order by name and size --->
       <CFDIRECTORY DIRECTORY="#thisDirectory#"
       NAME="myDirectory"
       SORT="name ASC, size DESC">
       <!--- Output the contents of the CFDIRECTORY as a CFTABLE --->
       <CFTABLE QUERY="myDirectory">
       <CFCOL HEADER="NAME:"
             TEXT="#Name#">
       <CFCOL HEADER="SIZE:"
             TEXT="#Size#">
       </CFTABLE>
       </cfif>
    </cfif>
    <cfelse>
    <h3>Please enter a file name</h3>
    </CFIF>
    </cfoutput>

    <FORM action="expandpath.cfm" METHOD="post">
    <h3>Enter the name of a file in this directory <I>
    <FONT SIZE="-1">(try expandpath.cfm)</FONT></I></h3>
    <INPUT TYPE="Text" NAME="yourFile">
    <INPUT TYPE="Submit" NAME="">
    </form>
     --->

relative_path |
Relative or absolute directory reference or file name, within the current directory, (.\ and ..\) to convert to an absolute path. Can include forward backward slashes.