Ir para conteúdo
Fórum Script Brasil
  • 0

Tamanho de Diretório


Bicicleta

Pergunta

Olá...

Estive procurando no manual no PHP uma função que me retorne o tamanho de um diretório, porém não consegui achar nada no manual, somente para tamanho de arquivos, procurei na Internet e achei alguns scripts, porém esses scripts ficam lentíssimos quando preciso pegar o tamanho de um diretório que tenha muitos arquivos e/ou subdiretórios... :wacko:

Não existe realmente uma função nativa que retorne somente o tamanho de um diretório e não precise fazer uma laço para somar arquivo por arquivo?

Valeu....

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá Vampyro...

Então, foi como falei, achei alguns scripts que retornam o tamanho geral do diretório fazendo soma dos arquivos 1 a 1, o que fica lento se eu tentar pegar de um diretório que tenha muitos arquivos e/ou subdiretórios...

Por exemplo, tentei pegar o tamanho de: "c:\arquivos de programas\" e dá timeout, com um diretório que tenha poucos arquivos vai de boa, o problema tá se eu precisar pegar de um diretório com vários arquivos...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Vampyro e Pedro Gaz...

Então, o meu maior problema mesmo é com o tempo que levaria pra isso ser executado, porque tenho uns diretórios com 100kb que é rápido e também umas pastas com 5 GB que fica extremamente lento...

Procurei e não achei nada, como trabalho mais com ASP temos o FSO (FileSystemObject) que faz isso e é bem mais rápido que somar um por um... O FSO é um componente COM, dai tive a idéia de tentar instanciar esse componente pelo PHP, procurei na Net e vi que dava certo, segue abaixo pra quem precisar:

<?php 

$dir = "c:\\windows\\";

$fso = new COM("Scripting.FileSystemObject");
if ($fso->FolderExists($dir))
    echo $fso->GetFolder($dir)->size;
else
    echo '0';
$fso->Release();

?>

Valeu pela atenção ae galera...

Abraço!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...