Foros del Web » Programando para Internet » PHP »

Saber el peso o tamaño de dir...

Estas en el tema de Saber el peso o tamaño de dir... en el foro de PHP en Foros del Web. Lo que quiero saber como hago ver el tamaño en KB de un directorio con todos los archivos? mi servidor usa linux, o sea lo ...
  #1 (permalink)  
Antiguo 06/12/2003, 23:33
 
Fecha de Ingreso: diciembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Mensaje Saber el peso o tamaño de dir...

Lo que quiero saber como hago ver el tamaño en KB de un directorio con todos los archivos? mi servidor usa linux, o sea lo que quiero saber es cuanto pesa la carpeta "/public_html"

Espero que me ayuden

Gracias!
  #2 (permalink)  
Antiguo 07/12/2003, 14:09
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
tamaño de carpeta

Código PHP:
/********************************************************************************/
/*           FUNCION PARA SACAR EL TAMAÑO DEL HDD DE UNA CARPETA                */
/********************************************************************************/
function FUNC_sizeCarpeta($dir) {
    
$dh opendir($dir);
    
$size 0;
    while ((
$file readdir($dh)) !== false)
        if (
$file != "." and $file != "..") {
            
$path $dir."/".$file;
            if (
is_dir($path))
                
$size += dirsize($path);
            elseif (
is_file($path))
                
$size += filesize($path);
        }
    
closedir($dh);
    
$size number_format($size/1024,3);
    return 
$size;
}
////////////////////////////////////////////////////////////////////////////////// 
quota de la web

Código PHP:
/********************************************************************************/
/* FUNCION PARA SACAR LA QUOTA DEL HDD DEL SERVIDOR+NUMERO DE FICHEROS/CARPETAS */
/********************************************************************************/
function FUNC_sizeDomainQuota($quota){ //FUNC_sizeDomainQuota($quota=25);

    
function obsah($adr,&$totalquota,&$dir,&$size){

          
$dp OpenDir($adr);

              do{

                
$itm ReadDir($dp);

    if (
Is_Dir("$adr/$itm")&&($itm!=".")&&($itm!="..")&&($itm!="")){

      
obsah("$adr/$itm",$totalquota,$dir,$size);

          
$dir++;
    }

    elseif ((
$itm!=".")&&($itm!="..")&&($itm!="")){

      
$size $size FileSize("$adr/$itm");
      
$totalquota++;
    }

  } while (
$itm!=false);

  
CloseDir($dp);

}

    
obsah(".",$totalquota,$dir,$size);

        
$freeA $size/1024*1024;
        
$freeA $freeA/1024;
        
$freeA $freeA/1024;

        
$exp explode(".",$freeA);
        
$freeN substr($exp[1],0,2);
        
$freeA $exp[0].".".$freeN;

        
$freeB $quota-$freeA;

        
$datosQuote "Tamaño del Portal: <B>$freeA</B> Mbytes - Quota del Portal: <B>$quota</B> Mbytes<br>Espacio Libre: <B>$freeB</B> Mbytes - Ocupado por <B>$totalquota</B> ficheros y <B>$dir</B> carpeta\s";

    return 
$datosQuote;
}
////////////////////////////////////////////////////////////////////////////////// 
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 07/12/2003, 15:44
 
Fecha de Ingreso: diciembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Grax, pero el unico problema es que no me has dado el echo "lala"; para imprimir ese numero... no se cual es la variable correcta para imprimir (el de ambos codigos que me has dado).

Grax!
  #4 (permalink)  
Antiguo 07/12/2003, 19:32
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
creo que necesitas estudiar un poco mas sobre como son las funciones y como se utilizan....

mira

Código PHP:
<?php

function FUNC_sizeDomainQuota($quota){

    function 
obsah($adr,&$totalquota,&$dir,&$size){

          
$dp OpenDir($adr);

              do{

                
$itm ReadDir($dp);

    if (
Is_Dir("$adr/$itm")&&($itm!=".")&&($itm!="..")&&($itm!="")){

      
obsah("$adr/$itm",$totalquota,$dir,$size);

          
$dir++;
    }

    elseif ((
$itm!=".")&&($itm!="..")&&($itm!="")){

      
$size $size FileSize("$adr/$itm");
      
$totalquota++;
    }

  } while (
$itm!=false);

  
CloseDir($dp);

}

    
obsah(".",$totalquota,$dir,$size);

        
$freeA $size/1024*1024;
        
$freeA $freeA/1024;
        
$freeA $freeA/1024;

        
$exp explode(".",$freeA);
        
$freeN substr($exp[1],0,2);
        
$freeA $exp[0].".".$freeN;

        
$freeB $quota-$freeA;

        
$datosQuote "Tamaño del Portal: <B>$freeA</B> Mbytes - Quota del Portal: <B>$quota</B> Mbytes<br>Espacio Libre: <B>$freeB</B> Mbytes - Ocupado por <B>$totalquota</B> ficheros y <B>$dir</B> carpeta\s";

    return 
$datosQuote;
}



echo 
FUNC_sizeDomainQuota(5);//5 => numero de megas que tiene tu dominio

?>
la otra funcion te la dejo a ti.... a ver si la sacas!
__________________
3w.valenciadjs.com
3w.laislatv.com
  #5 (permalink)  
Antiguo 07/12/2003, 22:34
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 11 meses
Puntos: 1
Esto mismo se pregunto hace unos dias, deberias usar el buscador, posicionandote en el directorio solo necesitas hacer:

Código PHP:
echo exec('du -s'); 
  #6 (permalink)  
Antiguo 07/12/2003, 23:29
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
es foros del web... ya se sabe...!... nadie lo usa!
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 08/12/2003, 00:23
 
Fecha de Ingreso: diciembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
UF! la verdad el que me tenias de tarea no me resulto, puse
echo FUNC_sizeCarpeta(5); y no se si era asi o no? sabes que no se, me rendi... y quise que me dijeras la respuesta correcta.. Grax!
  #8 (permalink)  
Antiguo 08/12/2003, 07:16
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
echo FUNC_sizeDomainQuota(5);//5 => numero de megas que tiene tu dominio
__________________
3w.valenciadjs.com
3w.laislatv.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.