Explorateur asp en un seul fichier sans installation

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 187 fois - Téléchargée 36 fois

Contenu du snippet

Un explorateur super sympathique qui permet de se balader n'importe porte où sur le serveur et de visualiser le contenu des fichiers de celui-ci.

il utilise l'objet "filesystemobject" et il faut bien admettre que c terrible...

Vous avez juste à copier le code dans un fichier .asp et à l'exécuter...

Source / Exemple :


<html>
<head>
<title>..:: ExplorAsp ::..</title>
<meta http-equiv="Content-Language" content="fr">
<style>
a:active     { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}
a:link       { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}
a:visited	 { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}
a            { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}

table        { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}

html        { font-family: Arial; font-weight: bold; color=#000080; font-size:11px}

</style>

</head>
<body>

<%
if request("chemin")="" then
response.write "<form name=depart method=post><input type=hidden value='" & server.mappath("/") & "\' name=chemin></form>"
response.write "<script language=javascript>document.depart.submit();</script>"
end if
						
if request("chemin")<>"" then
	
	'<!--Utilisation de l objet filesystemobject-->
	set fso=server.createobject("scripting.filesystemobject")
	
	'<!--Appel de la fonction pour affichage des lecteurs-->
	ouvrirlecteurs()	
	
	'<!--Appel de la fonction pour ouverture de la partie dossier & fichier-->
	ouvrirdossier(request("chemin"))
	
	
	if request("nomfic")<>"" then
	
	'<!--Appel de la fonction pour affichage d'un fichier-->
	ouvrirfichier(request("chemin") & request("nomfic"))
	
	end if
end if

%>

</body>
</html>

<%
function ouvrirdossier(chemin)

		set foldpt=fso.getfolder(chemin)
		set fc=foldpt.subfolders
		avant=left(chemin,len(chemin)-1)
		avant=left(avant,instrrev(avant,"\"))

		
		response.write "<a href='?chemin=" & avant & "'></a>"
		response.write "Chemin actuel: <font color=red>" & chemin & "</font>"
		response.write "<table ><tr><td valign=top>"
		response.write "<table bgcolor=""" & "000080" & """ cellPadding=""" & "1" & """ cellSpacing=""" & "0 width=""" & "440" & """>"
		response.write "<tr><td background=bgmenu.gif align=center><font color=white>Dossiers (<font color=yellow>" & fc.count & "</font>)</font></Td></tr>"
		
		response.write "<tr><td>"
		
		response.write "<table border=0 bgcolor=""" & "FFFFFF" & """ cellPadding=""" & "0" & """ cellSpacing=""" & "0" & """ width=""" & "440" & """>"

		for each f in fc
			response.write "<tr><td bgcolor=#f0f0ff>"
			response.write "<table><tr><td></td><td><a style='text-decoration: none' href=""" & "?chemin=" & chemin  & f.name &  "\" &  """>" & f.name & "</a></Td></tr></table>"
			response.write "</td></tr>"
			
		next
			
		response.write "</table>"
		response.write "</td></tr>"
		response.write "</table>"
		response.write "</td><td valign=top>"
		set fc=foldpt.files
		
		response.write "<table border=0 bgcolor=""" & "000080" & """ cellPadding=""" & "1" & """ cellSpacing=""" & "0" & """ width=""" & "440" & """>"
		response.write "<tr><td background=bgmenu.gif align=center><font color=white>Fichiers (<font color=yellow>" & fc.count & "</font>)</font></Td></tr>"
		response.write "<tr><td>"
		response.write "<table border=0 bgcolor=""" & "FFFFFF" & """ cellPadding=""" & "0" & """ cellSpacing=""" & "0" & """ width=""" & "440" & """>"
			response.write "<tr bgcolor=#f0f0ff><td>&nbsp;</td><td>&nbsp;</Td><td>Type</Td><td>Taille</td></Tr>"

		for each f in fc
			response.write "<tr bgcolor=#f0f0ff><td >"
			response.write "</td><td><a style='text-decoration: none' href=""" & "?chemin=" & chemin & "&nomfic=" & f.name & """>" & f.name & "</a></Td><td>" & f.type & "</Td><td align=right>" 
			
			if f.size>1073741824 then
				response.write cint(f.size/1024/1024/1024) & " go"
			elseif f.size> 1048576 then
				response.write cint(f.size/1024/1024) & " mo"
			elseif f.size>1024 then
				response.write cint(f.size/1024) & " ko"
			else 
				response.write f.size & " oc"
			end if

			if request("delete")="ok" then
f.Delete
end if

			response.write "</td></tr>"
		next

		response.write "</table>"
		response.write "</td></tr>"
		response.write "</table>"
		response.write "</td></tr></table>"

end function

function ouvrirfichier(chemin)
if fso.fileexists(chemin) then
		set inf=fso.opentextfile(chemin,1,false)
		
		response.write "<table border=0 bgcolor=000080 cellPadding=1 cellSpacing=0 width=440 style='position:absolute;top=<script language=javascript>document.write(window.width);</script>;left=10' id=contenu name=contenu>"
		response.write "<tr ><td background=bgmenu.gif align=center><font color=white>Contenu du fichier <font color=yellow>" & request("nomfic") & "</font></font></Td></tr><tr><td>"
		response.write "<table border=0 bgcolor=""" & "FFFFFF" & """ cellPadding=""" & "10" & """ cellSpacing=""" & "0" & """ width=""" & "440" & """>"
		response.write "<tr><td bgcolor=#f0f0ff align=center><a href=javascript:quitter();><font color=red>Fermer le fichier</Font></a></td></tr><tr><td bgcolor=#c3c0ff ><font color=000080>"

		do while not inF.atendofstream
			rep=replace(replace(inf.readline,">"," >"),"<","< ") & "<br>"
			response.write rep
		loop
	
		response.write "</font></td></tr></table>"
		response.write "</td></tr></table>"
else
		response.write "fichier non trouv"
end if

		bouger "contenu",90
end function

sub bouger(nomobjet,arret)

response.write "<script language='javascript'>"
response.write "v=0;"
response.write "function " & nomobjet & "1() {"
response.write "if(v<" & arret & ") {"
response.write "v=v+10;"
response.write nomobjet & ".style.top=v;"
response.write "setTimeout('" & nomobjet & "1()',10)"
response.write "}"
response.write "}"
response.write nomobjet & "1()"
response.write "</script>"
end sub

sub ouvrirlecteurs()
	set rs=fso.drives
	response.write "<table width=70% border=0 bgcolor=000080 cellPadding=1 cellSpacing=0 width=440 >"
	response.write "<tr><td background=bgmenu.gif align=center><font color=white>Lecteur (<font color=yellow>" & rs.count & "</font>)</font></Td></tr><tr><td>"
	response.write "<table width=100% border=0 bgcolor=""" & "FFFFFF" & """ cellPadding=""" & "1" & """ cellSpacing=""" & "0" & """ width=""" & "440" & """>"
	response.write "<tr bgcolor=#f0f0ff align=center bgcolor=#c3c0ff><td>Lecteur</Td><td>Type</Td><td>Etat</td><td>Total</td><td>Libre</Td><td>% d'occup</TD></tr>"		
	
	for each rep in rs
		if rep.isready=true then
			response.write "<tr align=center bgcolor=#f0f0ff><td align=left><a href=?chemin=" & rep & "\>" & rep.driveletter & " (" & rep.volumename & ")</A></td><td>"
		else
			response.write "<tr align=center bgcolor=#f0f0ff><td align=left>" & rep.driveletter & "</td><td>"
		end if
		
		select case rep.drivetype
			case 1: response.write "disquette"
			case 2: response.write "disque dur"
			case 3: response.write "lecteur rseau"
			case 4: response.write "lecteur cd"
		end select
		
		response.write "</Td><td>"
		
		if rep.isready=true then
			response.write "Disponible</Td><td>"
			if rep.totalsize>1073741824 then
				response.write cint(rep.totalsize/1024/1024/1024) & " go"
			elseif rep.totalsize> 1048576 then
				response.write cint(rep.totalsize/1024/1024) & " mo"
			elseif rep.totalsize>1024 then
				response.write cint(rep.totalsize/1024) & " ko"
			else 
				response.write rep.totalsize & " o"
			end if
			
			response.write "</Td><td>"
			
			if rep.availablespace>1073741824 then
				response.write cint(rep.availablespace/1024/1024/1024) & " go"
			elseif rep.availablespace> 1048576 then
				response.write cint(rep.availablespace/1024/1024) & " mo"
			elseif rep.availablespace>1024 then
				response.write cint(rep.availablespace/1024) & " ko"
			else 
				response.write rep.availablespace & " o"
			end if

			response.write "</Td><td>" & cint((1-(rep.availablespace/rep.totalsize))*100) & " %"
		else
			response.write "<font color=red>Indisponible</font></td><td>-</Td><td>-</Td><td>-"
		end if
	
		response.write "</td></Tr>"
	next
	
	response.write "</table></Td></tr></table>"
	
end sub 
%>

<script language='javascript'>

function quitter()
{
	v=-3000
	contenu.style.left=v;
}

</script>

Conclusion :


Enjoy-it !!!

A voir également

Ajouter un commentaire Commentaires
informatika2001 Messages postés 1 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 26 février 2005
26 févr. 2005 à 20:51
Merci pour vos commentaires c sympa...
Une V2 sortira bientot avec prise en compte des "headers" pour afficher les images.
cs_Jackboy Messages postés 757 Date d'inscription vendredi 7 septembre 2001 Statut Membre Dernière intervention 19 juin 2008
25 janv. 2005 à 15:28
yes sa enleve les erreurs javascript !!! ces nickel cette source... juste un petit qqchose, peut etre faire une gestion des fichiers image, afficher ceux-ci et non afficher le code derriere, du genre : "¨'% héhé
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
25 janv. 2005 à 10:29
Pas mal pas mal ...
Par contre, juste une modif : pour la fonction quitter, il faut écrire function ( f minuscule)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.