Ultimas do CanalQb

PHP - Listando Pastas e Arquivos com Geração de Menu Dinâmico

@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. Vamos explorar como fazer isso usando PHP com os scripts fornecidos abaixo.

Script para Listar Nomes de Pastas:

<?php
$dir = "./"; // Identificar o caminho da pasta raiz
foreach (glob($dir . "*", GLOB_ONLYDIR) as $pastas) {
    if (is_dir($pastas)) {
        $ultimapasta = str_replace($dir, '', $pastas);
        echo  $ultimapasta;
    }
}
?>

Script para Listar Arquivos Dentro de uma Pasta:

<?php
$img = glob($ultimapasta . '/*.JPG');
$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">';
    } elseif ($cont == $loopHorizontal) {
        echo '<img src="' . $img[$i] . '" width="65" height="65">';
        $cont = 0;
    }
    $cont++;
}
?>

Script Unindo os Dois para Gerar Menu Dinâmico e Submenu de Imagens:

<div class="principal">
    <p>&nbsp;</p>
    <div class="menua"><img src="../../img/jm-i.png" width="150" height="60">
        <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>'; ?>

                            <div id="thumbImagens">
                                <?php
                                $img = glob($ultimapasta . '/*.JPG');
                                $contador = count($img);
                                $loopHorizontal = 4;
                                $cont = 1;
                                for ($i = 0; $i < $contador; $i++) {
                                    if ($cont < $loopHorizontal) {
                                        echo '<a rel="' . $img[$i] . '"><img src="' . $img[$i] . '" width="65" height="65"></a>';
                                    } elseif ($cont == $loopHorizontal) {
                                        echo '<a rel="' . $img[$i] . '"><img src="' . $img[$i] . '" width="65" height="65"></a>';
                                        $cont = 0;
                                    }
                                    $cont++;
                                }
                                ?>
                            </div>

                    <?php
                        }
                    }
                    ?>
                </div>
    </div>
</div>

Explicação do Código:


Listar Nomes de Pastas: O primeiro script utiliza a função glob para obter a lista de pastas no diretório especificado.

Listar Arquivos: O segundo script utiliza a lista obtida anteriormente para criar uma galeria de imagens (substitua .JPG pelo formato desejado).

Gerar Menu Dinâmico e Submenu de Imagens: O terceiro script une os dois anteriores, criando um menu dinâmico com os nomes das pastas e um submenu exibindo as imagens associadas a cada pasta.

Lembre-se de personalizar os caminhos e formatos conforme necessário para o seu projeto.

Esperamos que este guia seja útil para criar menus dinâmicos e exibir conteúdo associado em seus projetos PHP! Se tiver dúvidas ou sugestões, compartilhe nos comentários. 📂🖼️💻 #PHP #DesenvolvimentoWeb #MenuDinamico

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.