Todos los archivos de una carpeta junto con su extensión y tamaño en PHP
0 COMENTARIOS - Publicado hace 13 meses - Clasificado en: PHP, TUTORIALESSiguiendo con los scripts dedicados a listar ficheros dada una carpeta en PHP. Esta función devuelve todos los ficheros en una tabla, junto con su extensión y su tamaño. Yo suelo mostrar este tipo de listados en carpetas sobre las que los usuarios de la aplicación tienen acceso y han subido documentos. Puesto que sólo pueden subir ciertos tipos de documentos, la lista de extensiones es bastante limitada; así que en la columna "Ext" muestro tanto el texto identificativo de la extensión como un icono asociado a dicha extensión. De este modo la cosa queda un poco más visual.
function listar_ficheros ($carpeta){
//Comprobamos que la carpeta existe
if (is_dir ($carpeta)){
//Escaneamos la carpeta usando scandir
$scanarray = scandir ($carpeta);
echo "<table>
<tr>
<td><strong>Nombre</strong></td>
<td><strong>Ext</strong></td>
<td><strong>Tamaño</strong></td>
</tr>";
for ($i = 0; $i < count ($scanarray); $i++){
//Eliminamos "." and ".." del listado de ficheros
if ($scanarray[$i] != "." && $scanarray[$i] != ".."){
//No mostramos los subdirectorios
if (is_file ($carpeta . "/" . $scanarray[$i])){
//Verificamos que la extension se encuentre en $tipos
echo "<tr>";
$thepath = pathinfo ($carpeta . "/" . $scanarray[$i]);
echo "<td>".$scanarray[$i]."</td>";
echo "<td>".$thepath['extension']."</td>";
echo "<td>".formato_tam(filesize($carpeta . "/" . $scanarray[$i]));
echo "</tr>";
}
}
}
echo "</table>";
} else {
echo "La carpeta no existe";
}
}
function formato_tam($size, $precision = 0) {
$sizes = array('Tb', 'Gb', 'Mb', 'Kb', 'bytes');
$total = count($sizes);
while($total-- && $size > 1024) $size /= 1024;
return round($size, $precision)." ".$sizes[$total];
}
Un ejemplo de uso sería:
<?php
echo listar_ficheros ("nombre_carpeta");
?>
Lo que devolvería algo como:
| Nombre | Ext | Tam |
| Images.rar | rar | 48 Mb |
| JQuery.zip | zip | 14 Kb |
| JQueryCollapse.html | html | 1 Kb |
| JsTableSorter.html | html | 5 Kb |
| Modelo Carpeta Ejecutiva.doc | doc | 103 Kb |
| ..... |
Algunas entradas relacionadas:
- Conseguir la IP real con PHP
- Exportar tablas HTML a Excel con PHP y JQuery
- PclZip: clase para trabajar con ficheros zip en php
- highlight_file: resaltar código PHP
- Marcas de agua con PHP
- Abrir ficheros con PHP
- Listar, filtrando por extensión, los ficheros de una carpeta con PHP
También te puede interesar:
| MobilePress: plugin para adaptar WordPress al móvil | ATutor: Sistema de Gestión de Contenidos de Aprendizaje | Meta Tags inútiles en SEO | Servicios para no procrastinar las tareas | 99 polls: generador de encuestas gratis en línea |





















Sergyo en Validaci贸n con expresiones regulares y Javascript




