Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Listar Pastas e Arquivos em PHP para Criar Menu Dinâmico e Galeria Visual

#PHP; #DesenvolvimentoWeb; #MenuDinamico
@CanalQb

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>&nbsp;</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.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo