Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: SERBice en 22 Marzo 2006, 00:51 am



Título: medir tamaño de carpetas con php
Publicado por: SERBice en 22 Marzo 2006, 00:51 am
hola a todos, kisiera saber si hay alguna funcion en php para medir el tamaño de una carpeta o si hay que construirla.


si hubiese que construirla, ¿alguien no la tendria ya hecha....?


supongo que si php no trae nada para medir carpetas habria que hacer un "mapeado" del directorio midiendo los tamaños de todos los archivos ahi contenidos (incluso en subdirectorios)


Título: Re: medir tamaño de carpetas con php
Publicado por: Rentero en 22 Marzo 2006, 16:20 pm
Llevo mucho tiempo sin programar y no recuerdo que haya ninguna función para eso...

Pero aquí te dejo esto que he hecho en un minutillo xD
Código:
<?php
function sizedir($dir)
{
static $total = 0;

$d = dir($dir);
while(false !== ($archivo = $d->read()))
{
if("." == $archivo || ".." == $archivo)
continue;

$total += sprintf("%u", filesize($archivo));
}
$d->close();

return $total; //resultado en bytes...
}

echo sizedir(".");//tamaño directorio actual :D
?>


Título: Re: medir tamaño de carpetas con php
Publicado por: devcode en 22 Marzo 2006, 23:09 pm
Prueba usando la función para medir el tamaño de archivos:

Código:
$tamano=filesize("./directorio");

;)


Título: Re: medir tamaño de carpetas con php
Publicado por: SERBice en 27 Marzo 2006, 06:20 am
hola, no .... la verdad ninguna de las respuestas ha resultado, la funcion de Rentero  no devuelve correctamente el tamaño y presumo que es poke mide el tamaño de los archivos del primer nivel del arbol de directorios y yo necesito que mida todos los subdirectorios tambien.

y devcode, filesize no funciona con directorios ya la he probado sin exito alguno

gracias y espero otra respuesta que me sake de este apuro


Título: Re: medir tamaño de carpetas con php
Publicado por: Rentero en 28 Marzo 2006, 15:15 pm
jejjeej, ya...yo solo te di una idea de como podrías hacerlo no el codigo enterito :P


Título: Re: medir tamaño de carpetas con php
Publicado por: n.a.u.t.a en 30 Mayo 2007, 20:06 pm
Código:
$directorio='path al directorio';

$tamano=exec("du -sk $directorio");

echo $tamano . ' = tamanio de ' . $directorio ;

utilizo un linux/unix y esto me funciono...

tomando en cuenta q el usuario del webserver debe tener como minio permiso para leer la carpeta...


Título: Re: medir tamaño de carpetas con php
Publicado por: alone-in-the-chat en 30 Mayo 2007, 21:05 pm
conoces la recursividad???

bueno x si acaso nunca se sabe :)

Código:
<?php
$directorio = "/var/www/cssFiles";

echo "Total : " .Fsize($directorio);
function Fsize($dir)
{
if (is_dir($dir))

{

    if ($gd = opendir($dir))

{

$cont = 0;
        while (($archivo = readdir($gd)) !== false)

{

            if ($archivo != "." && $archivo != ".." )

{

if (is_dir($archivo))
{
$cont += Fsize($dir."/".$archivo);
}else{
$cont += filesize($dir."/".$archivo);
echo  "archivo : " . $dir."/".$archivo . "&nbsp;&nbsp;" . filesize($dir."/".$archivo)."<br />";
}
}

        }

        closedir($gd);

    }
}
return $cont;
}
?>

ahora si los archivos son mas grandes de 2 o 4 megas no olvides implementar  el sprintf("%u", filesize($archivo)).
Saludos y suerte .


Título: Re: medir tamaño de carpetas con php
Publicado por: SERBice en 30 Mayo 2007, 23:37 pm
1: Este tema esta muerto
2: miren la p**a fecha antes de responder
3: gracias por sus respuestas
4: esto ya fue resuelto, y si, conozco la recursividad, aqui esta el post que soluciona este tema, yo mismo lo hice Parche y revision para: Funcion para medir directorio completos (http://foro.elhacker.net/index.php/topic,127340.msg662046.html#msg662046)

pd: ¿para que revivieron este post???


Título: Re: medir tamaño de carpetas con php
Publicado por: alone-in-the-chat en 31 Mayo 2007, 00:39 am
tienes razon no vi la fecha jeje,
 buena pregunta kien revivio el post :D

Saludos

PD. disculpa tio pero pobre higado xD°°