Funcion para medir directorio completos (Lista para que la usen)

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente