Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thiagoh_

varrer diretorios!!??!!

Recommended Posts

alow galera.. ta f*** me ajudem!!.. eu tava fazendo aki uma classe pra varrer diretorios.. fix ela todinha.. ela varre o diretorio e mostra todos os arquivos q existem no diretorio passado como parametro.. mas eu quero varrer agora recursivamente, ou seja, se um diretorio tiver outro diretorio ele sair varrendo todos ate nao haver mais diretorios ou arquivos a serem listados.. tudo isso listado num array bidimensional.. PS: plz.. se alguem souber como fazer me deem uma luz.. pois eu estava fazendo com uma chamada recursiva.. ate ai daria certo se a chamada recursiva nao zerasse o contador q passa o ponteiro do array pra o proximo.. muito obrigado.. ;p

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom cara, tu pode dar uma olhada no PEAR (http://pear.php.net) que ele tem umas classes para tratar diretórios. Mas na tua pergunta tu já deu a resposta ... é só fazer uma chamada recursiva ao método

PHP [/tr][tr]

// . . .

if (is_dir ($filename)) $this->varre_diretorio ($filename);

// . . .

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

ve se isso ajuda ,foi tirado do manual do php:

 

<?php

 

function diretorio($path) {

global $tamanho_arquivo, $tamanho_total, $total_pastas;

if ($dir = opendir($path)) {

  while (false !== ($file = readdir($dir))) {

  if (is_dir($path."/".$file)) {                 

  if ($file != '.' && $file != '..') {           

    echo '

[*]' . $file . '

    ';
        diretorio($path."/".$file);
        echo '

';

    $total_pastas++;

  }

  }

  else {                   

  $tab = " ";

  $filesize = $tab . '(' . filesize ($path.'/'.$file) . ' kb)';

  echo '

[*]' . $file . $filesize . '';

  $tamanho_total = $tamanho_total + filesize ($path.'/'.$file);

  $tamanho_arquivo++;

  }

}

closedir($dir);

}

}

 

diretorio("c:/");//path da sua pasta

 

$tamanho_total = round($tamanho_total / 1024 / 1024, 2);

 

echo"

 

 

Total de Arquivos - $tamanho_arquivo arquivos

 

Total de Pastas - $total_pastas uma pasta

 

Tamanho da Pasta - $tamanho_total MB

 

";

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera.. listar os arquivos eu ja tinha conseguido.. o meu problema galera eh jogar tudo num array.. assim //$arrayFiles onde [3] eh o terceiro diretorio [5] eh o quinto arquivo do diretorio$arrayFiles[3][5] = $arquivo;eh assim q eu queria distribuir os arquivos.. ja consegui listalos como vcs fizeram ai.. mas jogalos num array esta sendo dificil.. pois quando chemasse recursivamente a funcao o contador volta pra zero .. plz ajudem me.. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.