Explorateur asp en un seul fichier sans installation

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 724 fois - Téléchargée 34 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

Messages postés
1
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
26 février 2005

Merci pour vos commentaires c sympa...
Une V2 sortira bientot avec prise en compte des "headers" pour afficher les images.
Messages postés
757
Date d'inscription
vendredi 7 septembre 2001
Statut
Membre
Dernière intervention
19 juin 2008

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é
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

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.