Carissimi
utilizzo questo script come file manager, ma ho notato una cosa...
Al di sotto di 2 sottocartelle non mi fa visionare le altre cartelle come mai?
Si potrebbe modificare e come?
Grazie 1000
G.

codice:
<html>
<head>
<title>TreeView</title>
<link rel=stylesheet href='treeview.css'></link>
</head>
</html>

<script language=javascript src='treeview.js'></script>


<%
	set fso = CreateObject("Scripting.FileSystemObject")

	vDir = "/public/"
	root = Server.MapPath(vDir) & "\"
	set fold = fso.getFolder(root)

	' we'll assume that the starting point is not empty
	' (has at least one subfolder or one file)
	
	response.write getfoldlink("r0", "r0", fold, vDir)
	if fold.subfolders.count > 0 then
	
		' counter
		r1c = 0
		
		'loop through all subfolders in starting folder
		for each f in fold.subfolders
		
			' another counter
			r1c = r1c + 1

			' concatenate local/relative path once			
			sfoldname = root & f.name & "\"
			fpath = vDir & f.name & "/"
			
			set cfold = fso.getFolder(sfoldname)
			if cfold.subfolders.count > 0 or cfold.files.count > 0 then

				' we need to make the folder a tree node
				response.Write getfoldlink("r1" & r1c, "r1", cfold, fpath)

				' reset counter
				r2c = 0
				
				for each sf in cfold.subfolders

					' keep track to identify nodes by id
					r2c = r2c + 1

					' concatenate local/relative path once			
					sfoldname = root & f.name & "\" & sf.name & "\"
					path = vDir & f.name & "/" & sf.name & "/"

					' build an identifier for this node
					id = "r2" & r1c & "_" & r2c
					
					set sfold = fso.getFolder(sfoldname)
					if sfold.files.count > 0 then
					
						' we need to make the folder a tree node
						response.Write getfoldlink(id, "r2", sfold, path)
						for each fil in sfold.files
							response.write getfilelink("r2a", path, fil)
						next
						response.Write "</div>"
					else

						' this folder is not an expandable node
						response.write getfoldlink("", "r2", sfold, path)
					end if
				next
				for each fil in cfold.files
				
					' show each file in this subfolder
					response.write getfilelink("r1a", fpath, fil)
				next
				response.Write "</div>"
			else
			
				' this folder is not an expandable node
				response.Write getfoldlink("", "r1", cfold, fpath)
			end if
		next
	end if
	for each fil in fold.files
	
		' show the files in the starting folder
		response.write getfilelink("r0a", vDir, fil)
	next
	response.Write "</div>"
	
	set fso = nothing
%>
Il file di iclusione è:
codice:
<%
	function getfoldlink(d, c, f, p)
		if d <> "" then
		
			' needs to be clickable
			getfoldlink = "<a href='#' style='cursor:hand' " & _
				"onclick='flip(""" & d & """);" & _
				"this.blur();return false;'>" & _
				"<img id='i" & d & "' class=" & c & _
				" src=plus.gif vspace=0 hspace=2 border=0>" & _
				"<img src=folder.gif hspace=2 border=0></a>" & _
				"<a target=_blank href=" & p & getsftitle(f) & _
				">" & f.name & "</a></div><div id='" & d & "'" & _
				" display=none style='display:none'>"
		else
		
			' can't be clickable
			getfoldlink = "<div><img id='i" & d & "' " & _
				"class=" & c & " src=plus.gif vspace=0 " & _
				"hspace=2 visibility=hidden style='visibility:hidden'><img" & _
				" src=folder.gif hspace=2><a " & _
				"target=_blank href=" & p & getsftitle(f) & _
				">" & f.name & "</a></div>"
		end if
	end function
	
	function getfilelink(c, fold, file)
		getfilelink = "<div><img class=" & c & " src=file.gif" & _
			" hspace=2><a href=" & fold & file.name & _
			getfiletitle(file) & ">" & file.name & "</a></div>"
	end function
	
	function getfiletitle(file)
		getfiletitle = " title='Size: " & _
			formatnumber(file.size/1024, 2, -1, 0, -1) & _
			" kb" & vbCrLf & getDL(file) & "'"
	end function
	
	function getsftitle(fold)
		getsftitle = " title='" & getsfc(fold) & _
		vbCrLf & getfc(fold) & _
		vbCrLf & getfs(fold) & _
		vbCrLf & getDL(fold) & "'"
	end function
	
	function getDL(o)
		d = o.dateLastModified
		getDL = "Last mod: " & formatdatetime(d, 2) & _
			" " & formatdatetime(d, 3)
	end function
	
	function getfc(fold)
		getfc = fCount(fold.files.count)
	end function

	function getsfc(fold)
		getsfc = sfCount(fold.subfolders.count)
	end function
	
	function getfs(fold)
		getfs = "Size: " & bToMB(fold.size)
	end function 

	function bToMB(b)
		bToMB = formatnumber(b/1024/1024, 2, -1, 0, -1) & " MB"
	end function
	
	function fCount(c)
		fCount = formatnumber(c, 0, -1, 0, -1) & " file" & _
			suffix(c)
	end function
		
	function sfCount(c)
		sfCount = formatnumber(c, 0, -1, 0, -1) & _
			" subfolder" & suffix(c)
	end function
	
	function suffix(c)
		if c <> 1 then suffix = "s"
	end function
%>