• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nuno_couto

Tamanho de uma directoria

6 mensagens neste tópico

Viva.

Alguem sabe como fazer para obter o tamanho de uma directoria (algum comando semelhante ao filesize mas para directorias).

A ideia era limitar o tamanho máximo de uploads realizados por post para uma pasta. O script iria sempre verificar o tamanho.

Poderia criar uma tabela em que iria registar todos os uploads mas penso que seria mais prático controlar o tamanho da pasta.

Fiquem bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não existe nenhum para obter uma tamanho de um dir, quanto ao limitar o tamanho máximo de uploads podes colocar isto (se for um formulario)

<input type="hidden" name="MAX_FILE_SIZE" value="30000" />  O 30000 é o tamanho é bytes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas a ideia era, num script em que o utilizador pode fazer vários uploads, ter o tamanho máximo limitado.

Assim sendo terei que criar uma tabela em que fica gravado o tamanho de cada ficheiro e é feita a soma...

Não existirá uma forma de somar o tamanho de todos os ficheiros contidos dentro de uma pasta única (uma pasta que não contem sub-pastas) só ficheiros sem recorrer a sql, só com php?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sem recorrer a sql, o maximo que podes fazer e usar a funcao exec(ls); para listar os ficheiros, contar os tamanhos, e soma-los todos...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sem recorrer a sql, o maximo que podes fazer e usar a funcao exec(ls); para listar os ficheiros, contar os tamanhos, e soma-los todos...

exec(); nunca foi a melhor opção :D

@nuno_couto tens aqui uma ajudinha

$a = './';
$b = dir($a);
while(false !== ($c = $b->read())) {
       $e[] = $c;
}
$f = count( $e )-1;
for($g = 0; $g < $f; $g++) {
echo "[{$e[$g]}] ". round( filesize( $e[$g] )/1204, 2 )." KB\r\n";
}

Agora só precisas de somar.. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu disse pa usar a funcao exec, pk nao conhecia a funcao dir, assim e + facil  tnks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora