.png)
PHP - Listando Pastas e Arquivos com Geração de Menu Dinâmico
Em projetos web, a capacidade de listar pastas, exibir seus nomes como itens de menu e mostrar os arquivos associados é uma funcionalidade comum e útil para organizar conteúdos dinamicamente. A seguir, vamos explorar como implementar isso usando PHP por meio de scripts práticos, que você poderá adaptar facilmente para seus projetos.
Como Listar Nomes de Pastas com PHP de Forma Eficiente e Segura
<?php
$dir = "./"; // Caminho da pasta raiz
foreach (glob($dir . "*", GLOB_ONLYDIR) as $pastas) {
if (is_dir($pastas)) {
$ultimapasta = str_replace($dir, '', $pastas);
echo $ultimapasta . "<br>";
}
}
?>
Como Listar Arquivos de Imagem Dentro de uma Pasta Específica Usando PHP
<?php
$img = glob($ultimapasta . '/*.JPG'); // Alterar extensão conforme necessidade
$contador = count($img);
$loopHorizontal = 4;
$cont = 1;
for ($i = 0; $i < $contador; $i++) {
if ($cont < $loopHorizontal) {
echo '<img src="' . $img[$i] . '" width="65" height="65" alt="@CanalQb">';
} elseif ($cont == $loopHorizontal) {
echo '<img src="' . $img[$i] . '" width="65" height="65" alt="@CanalQb">';
$cont = 0;
}
$cont++;
}
?>
Combinação dos Scripts para Gerar Menu Dinâmico com Submenus de Imagens em PHP
<div class="principal">
<p> </p>
<div class="menua"><img src="../../img/jm-i.png" width="150" height="60" alt="@CanalQb"></div>
<hr align="center" width="100%" size="10" color="#0080FF"><p>
<h1>Nossas obras</h1><p>
<div id="custom-show-hide-example">
<?php
$dir = "./";
foreach (glob($dir . "*", GLOB_ONLYDIR) as $pastas) {
if (is_dir($pastas)) {
$ultimapasta = str_replace($dir, '', $pastas);
echo '<h2 class="menup">' . $ultimapasta . '</h2>';
echo '<div id="thumbImagens">';
$img = glob($ultimapasta . '/*.JPG');
$contador = count($img);
$loopHorizontal = 4;
$cont = 1;
for ($i = 0; $i < $contador; $i++) {
if ($cont < $loopHorizontal) {
echo '<a href="' . $img[$i] . '" title="Visualizar imagem" target="_blank"><img src="' . $img[$i] . '" width="65" height="65" alt="@CanalQb"></a>';
} elseif ($cont == $loopHorizontal) {
echo '<a href="' . $img[$i] . '" title="Visualizar imagem" target="_blank"><img src="' . $img[$i] . '" width="65" height="65" alt="@CanalQb"></a>';
$cont = 0;
}
$cont++;
}
echo '</div>';
}
}
?>
</div>
</div>
Explicação Completa do Código PHP para Menu Dinâmico e Galeria de Imagens
Listar Nomes de Pastas: Utilizamos a função glob
com o parâmetro GLOB_ONLYDIR
para obter somente os diretórios no caminho especificado, garantindo que a listagem seja precisa e eficiente.
Listar Arquivos de Imagens: Com o caminho das pastas em mãos, a função glob
é novamente usada para capturar arquivos com extensão específica (como .JPG
). Essa lista é percorrida para exibir as imagens em miniatura, organizando a exibição em linhas de até 4 imagens para melhor visualização.
Menu Dinâmico e Submenus: O terceiro script integra os dois anteriores para gerar automaticamente um menu com o nome das pastas e um submenu que apresenta as imagens correspondentes, criando uma experiência interativa e visualmente organizada para o usuário.
Lembre-se de adaptar os caminhos e formatos das imagens conforme a estrutura e o padrão do seu projeto. Também é recomendado usar extensões em letras maiúsculas e minúsculas para garantir a captura correta dos arquivos.
Este método é ideal para sistemas de gerenciamento de conteúdo, portfólios, galerias fotográficas e outras aplicações que demandam organização dinâmica e fácil manutenção.
Se deseja aprofundar a funcionalidade, considere a integração com JavaScript para criar menus interativos, efeitos de lightbox para as imagens e otimizações para responsividade.
Para maior segurança, sempre valide os diretórios e arquivos antes de exibir, evitando exposição de informações sensíveis.
Recomendamos analisar cuidadosamente antes de implementar códigos que manipulem arquivos do servidor, mantendo boas práticas de segurança e desempenho.
Esperamos que este tutorial ajude a desenvolver soluções mais dinâmicas e profissionais em seus projetos PHP. Compartilhe dúvidas e sugestões nos comentários!
Aviso importante: Investimentos e ganhos financeiros mencionados em códigos ou projetos devem ser realizados com responsabilidade e análise prévia do risco envolvido.
Softwares recomendados: Para manipulação e edição de imagens, indicamos o uso do GIMP e para gerenciamento de código PHP, PHP oficial. Para armazenamento seguro, utilize wallets e servidores confiáveis.