Trabalhando com diretórios de forma simples
A alguns anos trabalhar com diretórios era uma complicação. Para listar os arquivos eram necessárias técnicas de ninja, utilizando opendir e readdir.
Se quizesse abrir os diretórios dentro do diretório informado no opendir então, nossa, era necessária aquela mão de obra, sem falar no processamento. Mas isso era muito antigamente.
Hoje em dia (na verdade faz um tempinho, mas a muita gente ainda não sabe), dá pra fazer isso tudo de forma bem simples com os Iterators
. No nosso caso específico a gente trabalhará com o DirectoryIterator
e o RecursiveDirectoryIterator
, que são os utilizados para diretórios.
O DirectoryIterator
permite que se liste todos os arquivos/pastas de um diretório, por exemplo:
<?php
$diretorio = new DirectoryIterator('/www');
foreach($diretorio as $entrada){
echo $entrada->getFilename().'
';
}
?>
Caso seja necessário listar os arquivos do diretório informado e dos diretórios dentro dele, ou seja, fazer uma listagem recursiva, não tem problema, usaremos, nesse caso o RecursiveDirectoryIterator
<?php
$diretorio = new RecursiveDirectoryIterator('/www/celular');
$diretorio_recursivo = new RecursiveIteratorIterator($diretorio);
foreach($diretorio_recursivo as $entrada){
echo $entrada->getFilename().'
';
}
?>
Baseado nesses recursos basta utilizar a imaginação (e o conhecimento, é claro), para se manipular diretórios de qualquer maneira.



