サーバーのディレクトリをツリー表示する

こちらで苦労されていたようなので、考えてみました。

<cfoutput>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CFTREEテスト</title>
</head>
<body>

<cfset root		= "C:\CFusionMX7\wwwroot\test\20050523"><!---表示フォルダの絶対パス--->
<cfset urlRoot	= "/test/20050523"><!---表示フォルダのURLルートパス--->

<cfdirectory action="list" directory="#root#" name="dir" sort="directory" recurse="yes">

<cfform>
<cftree name="dlist" width="300" height="650" vspace="5" hspace="5" format="applet">
<cftreeitem expand="no" value="#root#" display="20050523">

<cfset itm = structNew()>

<cfloop query="dir">
	<cfset itm.display= dir.name>
	<cfset itm.value	= "#dir.directory#\#dir.name#">
	<cfset itm.img	= IIF((dir.TYPE is 'Dir'),DE('folder'),DE('document'))>
	<cfset itm.href	= IIF((dir.TYPE is 'File'),DE('#urlroot#/#URLEncodedFormat("#replace(itm.value,dir.directory,'')#")#'),DE(''))>

	<cftreeitem expand="no" display="#itm.display#" value="#itm.value#" parent="#dir.directory#"
		img="#itm.img#"
		href="#itm.href#"
		target="mainFrame">

</cfloop>

</cftree>
</cfform>
</body>
</html>
</cfoutput>