Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2018, 11:03
Brujo2
 
Fecha de Ingreso: agosto-2006
Mensajes: 32
Antigüedad: 17 años, 7 meses
Puntos: 1
Pregunta Listar directorio y Sumar Tamaño de Archivos

Hola a todos, estoy modificando un código para que pueda contabilizar el tamaño de todos los archivos que estan en los directorios y subdirectorios, lo que vi por internet solo contabilizaba los directorios mas no los subdirectorios dentro de la misma.

El código que hice

Código PHP:
<?
echo $ruta"/home/valuarteandina/public_html/prueba/";
echo 
'<br>';
echo 
$_eltamano=0;
echo 
'<hr>';
function 
listar_directorios_ruta($ruta,$_eltamano){
if (
is_dir($ruta)) {
if (
$dh opendir($ruta)) {
while ((
$file readdir($dh)) !== false) {
echo 
'<h3>Archivo a Analizar '.$file.' - Tamano contado hasta aqui: '.$_eltamano.'</h3>';
if (
is_dir($ruta $file) && $file!="." && $file!=".."){
echo 
"<br>Directorio: $file";
echo 
' <font color="#00CC33">total contado hasta aqui: '$_eltamano.'</font><br>';
$laruta=$ruta.$file;
listar_directorios_ruta($laruta."/"$_eltamano);}
else if(
is_file($ruta $file))
{
echo 
'<br><b>'.$file.' es archivo</b> ';
$tamano=filesize($ruta $file);
$_eltamano+=$tamano;
echo 
'<font color="#3399FF">Tamano del archivo: '.$tamano.'</font> ';
echo 
'<font color="#FF0000">Total contado hasta aqui: '.$_eltamano.'</font>';
}else{ echo 
'<br>'.$file.' no es archivo';
}}
closedir($dh);}}else
{echo 
"<br>No es ruta valida";}
echo 
'<br><b><font color="#055e74">vamos a retonar este tamano total: '.$_eltamano.'</font></b><hr>';
return 
$_eltamano;

echo 
'<h1>Dato Final de espacio en Bytes: '.$_final=listar_directorios_ruta($ruta$_eltamano).'</h1>';
echo 
'<br>';
?>
Tengo la variable $_eltamano que es para sumar el total de todos los tamaños de los archivos, pero hay un punto en que hace return y vuelve y tomar el valor inicial de esta que es 0. para que al final solo me muestre el tamaño del ultimo archivo.

Me explico, corriendo el codigo:


Lo unico que yo deseo es que me sume todos los tamaños, y me muestre el total. Mi situacion es para despues mostrarle al cliente en donde estan los mayores archivos en x directorios.

Un saludo y gracias