Funcion para medir directorio completos (Lista para que la usen)
SERBice:
Cuendo yo necesite que me pasaran algo asi nadie supo entender que necesitaba (o no quisieron ayudarme :-()
en fin, aqui les dejo una funcion que hice para medir el tamaño de directorios completos (incluyendo subdirectorio)
Código:
<?php
/*############################################################################
# #
#Nombre de la funcion: MeDir #
# #
#Autor: SERBice® #
# #
#Descripcion de la funcion: Recorre un directorio midiendo todos los #
# archivos que contiene (incluso en sus #
# subdirectorios, hasta el ultimo). #
# #
#Parametros de la funcion: El unico parametro de la funcion MeDir es $dir, #
# Dicho parametro establece el directorio sobre el #
# cual actuara la funcion, es decir, que establece #
# el directorio del cual se obtendra informacion de #
# su tamaño completo, incluyendo subdirectorios. #
# Si $dir no se establece se utilizara el directorio#
# donde se encuentra el archivo que llamo a la #
# funcion #
# #
#Este Software se distribuye bajo Licencia GPL, por lo cual se solicita que #
#se utilice con fines no lucrativos, es decir, que sea de uso Personal y No #
#Comercial. Que se conserven los derechos de autor y que cualquier #
#modificacion le sea notifiacda al autor, para saber y estar al tanto de #
#los avances del software en cuestion; y de esta manera enriquezer aun mas #
#esta pequeña herramienta #
# #
#Atentamente: SERBice® #
# #
############################################################################*/
function MeDir($dir=".")
{
/* Creamos un array con todos los nombres de directorios y
archivos contenidos dentro del directorio inicial */
$arr = scandir($dir);
/* establecemos que la variable $sizedir es igual a cero */
$sizedir = 0;
/* Recorremos el array saltando los directorios . y .. */
for ($i=2; $i<count($arr); $i++)
{
/* Si es un archivo hacer..... */
if (is_file($dir ."/". $arr[$i]))
{
/* Establecemos que la variable $sizedir es igual
a ella misma más el tamaño del fichero $dir ."/". $arr[$i] */
$sizedir += filesize($dir ."/". $arr[$i]);
}
/* Si es un directorio hacer..... */
elseif (is_dir($dir ."/". $arr[$i]))
{
/* Establecemos que la variable $sizedir es igual
a ella misma más el valor devuelto por MeDir */
$sizedir += MeDir($dir . "/" . $arr[$i]);
}
/* Si no sabemos que es reaccionamos como si fuera un archivo y ... */
else
{
/* Establecemos que la variable $sizedir es igual
a ella misma más el tamaño del fichero $dir ."/". $arr[$i] */
$sizedir += filesize($dir ."/". $arr[$i]);
}
}
/* Devolvemos el valor total de $sizedir */
return $sizedir;
}
?>
deya:
Excelente, muy útil ::) Buen aporte. :D
Algo así estaba necesitando en estos días. :)
Salu2
SERBice:
Esta revision achica el codigo y añade la posibilidad de medir en subdirectorios o no segun se necesite
Código:
<?php
/*############################################################################
# #
#Nombre de la funcion: MeDir #
#Version de la funcion: 1.0.0.4 #
#Fecha de la funcion (Creacion): 01/06/2006 #
#Fecha de la funcion (ultima revision): 19/08/2006 #
# #
#Autor: SERBice(r) #
# #
#Descripcion de la funcion: Recorre un directorio midiendo todos los #
# archivos que contiene (incluso en sus #
# subdirectorios, hasta el ultimo). #
# #
#Parametros de la funcion: El parametro $dir, establece el directorio sobre el#
# cual actuara la funcion, es decir, que establece #
# el directorio del cual se obtendra informacion de #
# su tamaño. #
# Si $dir no se establece se utilizara el directorio#
# donde se encuentra el archivo que llamo a la #
# funcion #
# $subdirs es el parametro que establece si vamos #
# o no a medir en subdirectorios o no. Si $subdirs #
# no se establece su valor por defaul sera 1 y #
# medira los subdirectorios #
# #
#Este Software se distribuye bajo Licencia GPL, por lo cual se solicita que #
#se utilice con fines no lucrativos, es decir, que sea de uso Personal y No #
#Comercial. Que se conserven los derechos de autor y que cualquier #
#modificacion le sea notifiacda al autor, para saber y estar al tanto de #
#los avances del software en cuestion; y de esta manera enriquezer aun mas #
#esta peque?a herramienta #
# #
#Atentamente: SERBice(r) #
# #
############################################################################*/
function MeDir($dir=".",$subdirs=1)
{
/* Creamos un array con todos los nombres de directorios y
archivos contenidos dentro del directorio inicial */
$arr = scandir($dir);
/* establecemos que la variable $sizedir es igual a cero */
$sizedir = 0;
/* Recorremos el array saltando los directorios . y .. */
for ($i=2; $i<count($arr); $i++)
{
/* Si es un directorio hacer..... */
if (is_dir($dir ."/". $arr[$i]))
{
/* Establecemos que la variable $sizedir es igual
a ella misma m?s el valor devuelto por MeDir */
if ($subdirs==1) $sizedir += MeDir($dir . "/" . $arr[$i]);
}
/* Si es un archivo hacer ... */
else
{
/* Establecemos que la variable $sizedir es igual
a ella misma m?s el tama?o del fichero $dir ."/". $arr[$i] */
$sizedir += filesize($dir ."/". $arr[$i]);
}
}
/* Devolvemos el valor total de $sizedir */
return $sizedir;
}
?>
Neostream:
creo que se refiere a:
que lo copiara y lo pegara :P en pocas palabras que asi mismo lo usara ;D ey buenisimo gracias por el aporte
SERBice:
el codigo no lo copie de ningun lado, si como explique en el primer post de este tema yo necesitaba esta funcion y nadie supo comprender que necesitaba y decidi hacerlo yo.
todo nacio aca, cuando pedi ayuda y no recibi mucha (solo un pokito, pero que en fin no use mucho).
La URL del post que inicio todo: http://foro.elhacker.net/index.php/topic,114834.0.html
la funcion es de mi autoria y pronto publicare otra nueva que espero que acepten con agrado.
AÑADO: si el codigo lo han visto en otros foros lo he publicado yo (SERBice), y si esta publicado por otra persona en algun otro lado por favor notificarme si no ha respetado los creditos del autor. Gracias
Navegación
[#] Página Siguiente