Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/12/2003, 05:37
fran86
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
No creo que le sirva...
Eso te devolvera el espacio ocupado en el sistema de archivos total o de la particion, no del directorio.

Lo que tendras que hacer (por lo menos asi lo hago yo) es revisar todos los archivos de un directorio y acumular sus tamaños en una variable.
Aca tenes esta funcioncita "made in casa"
Código PHP:
function dir_espacio($dirmain$buscaSubs true) {
    if ( !
is_dir($dirmain) ) return false;
    
$tam "";
    
$dirs = array($dirmain);
    
    if ( 
$buscaSubs ) {
        while(list(, 
$dir) = each($dirs)) {
            if ( !@
$handle opendir(realpath($dir)) ) return false;
            while ( 
$tmp readdir($handle) ) {
                
$real realpath($dir)."/".$tmp;
                if ( (
is_dir($real)) && ($tmp != ".") && ($tmp != "..") ) {
                    
$dirs[] = realpath($dir)."/".$tmp;
                }
            }
            
closedir($handle);
        }
    }
    
    foreach (
$dirs as $dir) {
        if ( !@
$handle opendir($dir) ) return false;
        while ( (
$tmp readdir($handle)) !== false ) {
            if ( 
is_file(realpath($dir)."/".$tmp) ){
                
$tam += filesize(realpath($dir)."/".$tmp);
            }
        }
        
closedir($handle);
    }
    
    if ( !empty(
$tam) ){
        return 
$tam;
    } else {
        return 
false;
    }

Por defecto te manda el espacio de los archivos del directorio y todos los subdirectorios, pero si pones el segundo parametro a false, creo que te servirá:
$ocupado = espacioDir("c:\\algo\\otroalgo", false);

Última edición por fran86; 27/12/2003 a las 05:46