Uma das nossas últimas matérias é relacionada a acesso FTP usando o PHP.
Hoje estaremos falando sobre um sistema que pode implementar facilmente esta solução, trazendo em tela os ficheiros e diretórios existentes.
Para facilitar as futuras implementações, estaremos comentando sobre o ficheiro e algumas funções que estão disponíveis nele.
Como de costume, estaremos postando ao final da matéria o ficheiro para visualização.
Conhecendo as Funções
Para elaborar este ficheiro e realizar qualquer serviço relacionado a diretórios, usamos as funções a seguir:
- opendir() – para abrir o diretório;
- readdir() – lê o diretório aberto;
- is_dir() – informa se o conteúdo informado é um diretório.
Tais funções adicionadas às demais usadas no script dão um retorno especial (conforme você pode verificar abaixo).
Conhecendo O Código
Abaixo vamos descrever passo a passo como este ficheiro foi elaborado e daremos dicas sobre como melhorá-lo.
O primeiro passo é a abertura e leitura do diretório. Para este você usa os comandos a seguir:
Passo 1:
Pegamos o nome do diretório e efetuamos sua abertura.
Após isso, através de um while montamos os vetores com o conteúdo encontrado no diretório (conforme exemplo a seguir).
$diretorio = getcwd();
$ponteiro = opendir($diretorio);
while ($nome_itens = readdir($ponteiro)) { $itens[] = $nome_itens; }
Passo 2:
O segundo procedimento é o de ordenar os vetores (acima descritos – dentro do while).
Bem… o “windows explorer” ordena primeiramente os diretórios e depois os ficheiros, correto?
Faremos desta maneira, de forma que seu conteúdo esteja devidamente organizado.
Veja que no exemplo abaixo o sistema varre ítem a ítem e retorna apenas os nomes das pastas e dos diretórios:
sort($itens);
foreach ($itens as $listar) {
if ($listar!="." && $listar!=".."){
if (is_dir($listar)) {
$pastas[]=$listar;
} else{
$arquivos[]=$listar;
}
}
}
Passo 3:
O terceiro passo é muito simples.
Acima você definiu o que é arquivo ou pasta, correto?
A função abaixo simplesmente lista os diretórios disponíveis (conforme exemplo a seguir).
if ($pastas != "") {
foreach($pastas as $listar){
print "
";}
}
Passo 4:
Após definir o que é diretório, vamos agora verificar os ficheiros?
Veja que assim como no Passo 3 usamos alguns códigos HTML para melhorar sua aparência (conforme exemplo a seguir).
if ($arquivos != "") {
foreach($arquivos as $listar){
print "
";}
}
OBS.: Veja no Passo 3 que disponibilizamos uma imagem definindo o diretório, correto?
Você pode melhorar este ficheiro, disponibilizando no Passo 4 que tipo de ficheiro se trata e implementar com várias outras soluções!
Bem… ficamos por aqui com mais uma matéria de PHP. Espero ter lhe ajudado em algo!
Download do código usado neste tutorial: Conexão Via FTP – Arquivos Dum Diretório