Listar diretorios e subdiretorios , com metodo recursivo
Boa noite á todos,
Estou tendo um grande problema.
Preciso listar todos os diretorios e subdiretorios. Criei um método recursivo onde obtenho as respostas que eu solicito, porém o problema é que, como o método é recursivo, o outro método que faz o chama, recebe o retorno do primeiro looping. Assim eu só obtenho a primeira camada das pastas.
Abaixo esta o exemplo que estou utilizando.
public function eliminaImagem() {
$testes =$this->ScanDirectory(info::diretorioUpload());
var_dump($testes);
}
private function ScanDirectory($Directory,$diretorios=array()) {
if(!empty($diretorios)){
$diretorios = array_combine($diretorios, $diretorios);
}
$MyDirectory = new DirectoryIterator($Directory);
foreach ($MyDirectory as $file) {
// verifica se o valor de $file é diferente de '.' ou '..'
// e é um diretório (isDir)
if (!$file->isDot() && $file->isDir()) {
// file_exists($filename);
// atribuição a variável $dname
$dname = $Directory . '/' . $file->getFilename();
$dname = str_replace('//', '/', $dname);
// imprime o nome do diretório
// echo $dname . "<br />";
$diretorios[] = $dname;
$this->ScanDirectory($dname,$diretorios);
}
}
//$diretorios = array_combine($diretorios, $diretorios);
return $diretorios;
}
É para retornar isso
C:/wamp/www/aplication/app/up/anuncio
C:/wamp/www/aplication/app/up/anuncio/files
C:/wamp/www/aplication/app/up/anuncio/grande
C:/wamp/www/aplication/app/up/anuncio/medio
C:/wamp/www/aplication/app/up/anuncio/pequena
C:/wamp/www/aplication/app/up/arquivos
C:/wamp/www/aplication/app/up/facebook
C:/wamp/www/aplication/app/up/files
C:/wamp/www/aplication/app/up/files/crop
C:/wamp/www/aplication/app/up/thumbs
C:/wamp/www/aplication/app/up/thumbs/files
Esta retornando, só a primeira camada de pastas
array (size=5)
0 => string 'C:/wamp/www/aplication/app/up/anuncio'
1 => string 'C:/wamp/www/aplication/app/up/arquivos'
2 => string 'C:/wamp/www/aplication/app/up/facebook'
3 => string 'C:/wamp/www/aplication/app/up/files'
4 => string 'C:/wamp/www/aplication/app/up/thumbs'Discussão (5)
Carregando comentários...