Bienvenid@s, hoy veremos como obtener el tamaño total de una carpeta con PHP, para esta tarea tendremos que fabricar nuestra propia función, ya que PHP no provee una función específica para ésto, aunque si ofrece las herramientas necesarias para poder hacerlo. La función se llama foldersize(src), con esta función examinaremos el contenido del directorio seleccionado, iremos obteniendo el tamaño de cada archivo encontrado y accediendo a los diferentes directorios internos en busca de más archivos, así hasta lograr indexar todos los archivos, finalmente retornaremos el tamaño total en bytes de la carpeta seleccionada.
Script de la función foldersize(src)
function foldersize($src) { $total_size = 0; if (is_dir($src)) { $dir = opendir($src); while ($element = readdir($dir)) { if ($element != '' && $element != '.' && $element != '..') { $element = $src.$element; if (is_dir($element)) { $size = foldersize($element.'/'); $total_size += $size; } else { $size = filesize($element); $total_size += $size; } } } return $total_size; } } print foldersize('folder/') . " bytes";
No hay comentarios:
Publicar un comentario