Código de PHP - Explorador de archivos en PHP y HTML5

Imágen de perfil

Explorador de archivos en PHP y HTML5gráfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 25 de Septiembre del 2013 por Xavi
12.340 visualizaciones desde el 25 de Septiembre del 2013. Una media de 77 por semana
Código que permite visualizar el listado de archivos de nuestro servidor, y permite navegar por las carpetas visualizando su contenido.
Muestra información sobre el tipo de archivo (mime), codificación del mismo y tamaño.

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 25 de Septiembre del 2013gráfica de visualizaciones de la versión: Versión 1
12.341 visualizaciones desde el 25 de Septiembre del 2013. Una media de 77 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<title>Explorador de archivos en PHP</title>
 
	<style>
	section>div	{clear:both;}
	.group		{overflow:hidden;padding:2px;}
	section .group:nth-child(odd) {background:#e5e5e5;}
	.directory	{font-weight:bold;}
	.name		{float:left;width:250px;overflow:hidden;}
	.mime		{float:left;margin-left:10px;}
	.size		{float:right;}
	.bold		{font-weight:bold;}
	footer		{text-align:center;margin-top:20px;color:#808080;}
	</style>
</head>
 
<body>
<?php
// obtenemos la ruta a revisar, y la ruta anterior para volver...
if($_GET["path"])
{
	$path=$_GET["path"];
	$back=implode("/",explode("/",$_GET["path"],-2));
	if($back)
		$back.="/*";
	else
		$back="*";
}else{
	$path="*";
}
?>
<header>
	<h1>Explorador de archivos en PHP</h1>
</header>
<nav>
	<h2><?php echo $path?></h2>
</nav>
 
<section>
	<?php
	// si no estamos en la raiz, permitimos volver hacia atras
	if($path!="*")
		echo "<div class='bold group'><a href='?path=".$back."'>...</a></div>";
 
	// devuelve el tipo mime de su extensión (desde PHP 5.3)
	$finfo1 = finfo_open(FILEINFO_MIME_TYPE);
	// devuelve la codificación mime del fichero (desde PHP 5.3)
	$finfo2 = finfo_open(FILEINFO_MIME_ENCODING);
 
	$folder=0;
	$file=0;
	# recorremos todos los archivos de la carpeta
	foreach (glob($path) as $filename)
	{
		$fileMime=finfo_file($finfo1, $filename);
		$fileEncoding=finfo_file($finfo2, $filename);
		if($fileMime=="directory")
		{
			$folder+=1;
			// mostramos la carpeta y permitimos pulsar sobre la misma
			echo "<div class='directory group'>
				<a href='?path=".$filename."/*' class='name'>".end(explode("/",$filename))."</a>
				<div class='mime'>(".$fileEncoding.")</div>
			</div>";
		}else{
			$file+=1;
			// mostramos la información del archivo
			echo "<div class='group'>
				<div class='size'>".number_format(filesize($filename)/1024,2,",",".")." Kb</div>
				<div class='name'>".end(explode("/",$filename))."</div>
				<div class='mime'>".$fileMime." (".$fileEncoding.")</div>
			</div>";
		}
	}
 
	finfo_close($finfo1);
	finfo_close($finfo2);
	?>
	<footer>
		<?php echo $folder?> carpeta/s y <?php echo $file?> archivo/s
	</footer>
</section>
 
</body>
</html>



Comentarios sobre la versión: Versión 1 (2)

Amado Urias
17 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Excelente, me ha servido. Gracias.
Responder
Juan M. Castillo
13 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Gran trabajo. Gracias
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2492