Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

joannes

Exibir imagens de um arquivo php dentro de outro arquivo com foreach usando interatorRecursive

Recommended Posts

Olá pessoal, estou com um problema e nao consigo resolver, antes de postar o código vou explicar aqui, 

em meu index.php fix buscar umas imagens em um diretorio, pois ele busca todas e monta para mim usando card materialize, já que não preferi armazenar no banco, pois, o cara não pagou o bastante para isso, nisso uso um card e junto um badges collapse, dentro do collapse quero que ao eu der um click e o collapse rola para baixo ele exiba imagens que esta dentro do controller.php que faz a mesma coisa so que com fotos para exibicao dei um include no index onde deveria mostrar as imagens, e na div coloquei um href que recupero no controller, mas nao esta adiantando, so funcio ase eu colocar como link paa outra agina, mas não é o que eu quero. como esta dentro de um foreach acho que nao acesso o conteudo e nem da echo.

 

segue o codigo.

 

  1. recursivo_arquivos_fotos
  2. uso css do materialize. e outros css personalizado de exibicao de imagens do lithgalery
  3.  
  4. essa parte do codigo pega minhas imagens em uma pasta e monta um card para mim
  5.  
  6. arquivo index.php segue a parte que importa do codigo
  7. <?php
  8.  
  9. $direct = "../mdjr/producoes/img/img_cards/";
  10.  
  11. $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($direct),RecursiveIteratorIterator::LEAVES_ONLY);
  12.  
  13. /**
  14.  * Pega os arquivos de imagem e monta os cardes para mim
  15.  */
  16.  
  17. foreach ($files as $name => $file)
  18. {
  19.     #verifica se nao é um diretorio caso não são arquivos
  20.    if (!$file->isDir())
  21.     {
  22.         #o metodo getRealPath tira todos os subdiretorios
  23.        $filePath = $file->getRealPath();
  24.  
  25.         #o metodo getBasename pega pega o nome
  26.        $relativePath = $file->getBasename($filePath);
  27.  
  28.         #trata as barras de acordo com o SO
  29.        $filePath=str_replace("\\","/",$filePath);
  30.  
  31.         // explode a string e dividi-lo pelo "." e pega so a posicao onde está o nome
  32.         $explod =  explode('.',$file->getBasename($filePath));
  33.  
  34.         //substitui underline por um espaço em branco
  35.         $str_replace = str_replace("_"," ",$explod[0]);
  36.  
  37.         // transforma a primeira letra de cada palavra em Maiúscula
  38.         $upper_first_ame = ucwords($str_replace);
  39.  
  40.  
  41.         /**
  42.          * Varre o arquivo em busca de estrigs e pega liunha por linha
  43.          * @var $descricao_cards
  44.          * @var $linha
  45.          * @var $linhas
  46.          */
  47.         $descricao_cards = file("../mdjr/producoes/arquivos_links/descricao_cards.txt");
  48.         foreach($descricao_cards as $linha)
  49.         {
  50.             $linhas[] = $linha;
  51.         }
  52.  
  53.  
  54.  
  55.  
  56.         $r = count($linha);
  57.         for($i = 0; $i < $r; $i++)
  58.         {
  59.  
  60.             if(!isset($linhas[$y]))
  61.             {
  62.                 $count = 0;
  63.                 $y = 0;
  64.             }
  65.  
  66.         }/*Fim*/
  67.  
  68.  
  69.         ?>
  70.         <br>
  71.         <!--Inicio Card horizontal-->
  72.         <div class="container">
  73.             <div class="row">
  74.                 <div class="">
  75.                     <div class="card">
  76.                         <div class="card-image waves-effect waves-block waves-light">
  77.                             <img src="<?php echo $direct.$file->getBasename($filePath);?>" class="activator responsive-img" alt="<?php echo $file->getBasename($filePath);?>">
  78.                         </div>
  79.  
  80.                         <div class="card-content">
  81.                             <span class="card-title activator grey-text text-darken-4"><?php echo $upper_first_ame;?><i class="material-icons right">more_vert</i></span>
  82.                             <p><a href="#">Mais detalhes</a></p>
  83.                         </div>
  84.  
  85.                         <div class="card-reveal">
  86.                             <span class="card-title grey-text text-darken-4" style="font-size: 10pt"><?php echo $linhas[$y];$y++ ?><i class="material-icons right">close</i></span>
  87.                             <p><a href="#">Mais detalhes</a></p>
  88.                         </div>
  89.                         <ul class="collapsible">
  90.                             <li>
  91.                                 <div class="collapsible-header"><i class="material-icons">filter_drama</i><?php echo 'Ver Fotos de '. $upper_first_ame;?></div>
  92.                                 <div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span><?php include "producoes/controller/controller.php"; echo $div;  ?></span></div>
  93.                             </li>
  94.                         </ul>
  95.  
  96.                     </div>
  97.                 </div>
  98.             </div>
  99.         </div>
  100.  
  101.         <?php
  102.     }
  103. }
  104.  
  105. ?>
  106.  
  107. essa outra parte  do codigo deixei para ao clicar ele desce e exibe as imagens que estou carregando em outro arquivo chamado controller.php
  108. <ul class="collapsible">
  109.                             <li>
  110.                                 <div class="collapsible-header"><i class="material-icons">filter_drama</i><?php echo 'Ver Fotos de '. $upper_first_ame;?></div>
  111.                                 <div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span><?php include "producoes/controller/controller.php"; echo $div;  ?></span></div>
  112.                             </li>
  113.                         </ul>
  114.   nessa linha a baixo mostra onde a div funcioa como um link de botao que ao clicar ela chamar o controller.php
  115. <div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>">
  116.  
  117. e nessa embaixo ela include o conteudo do controller .php que sera conforme o parametro pasado no link da div onde deveria exibir as imagens carregadas.
  118. <div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span>
  119.  
  120.  
  121. agora o arquivo controller.php
  122.  
  123. <?php
  124. /**
  125.  * Created by PhpStorm.
  126.  * User: joannes
  127.  * Date: 28/03/19
  128.  * Time: 15:30
  129.  */
  130.  
  131. //$options = $_GET['card'];
  132.  
  133.  
  134.     if($_GET['card'] == '0') {
  135.  
  136.     ?>
  137.  
  138.  
  139.     <div class="row escuro">
  140.         <div class="col s12 m12">
  141.             <div id="lightgallery" class="list-unstyled ">
  142.                 <?php
  143.                 $direct = "../img/cards/card_eventos";
  144.                 $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($direct),RecursiveIteratorIterator::LEAVES_ONLY);
  145.  
  146.                 foreach ($files as $name => $file)
  147.                 {
  148.                     #verifica se nao é um diretorio caso não são arquivos
  149.                    if (!$file->isDir()) {
  150.                         #o metodo getRealPath tira todos os subdiretorios
  151.                        $filePath = $file->getRealPath();
  152.  
  153.                         $tam = $file->getSize();
  154.  
  155.                         #o metodo getBasename pega o nome
  156.                        $relativePath = $file->getBasename($filePath);
  157.  
  158.                         #trata as barras de acordo com o S.O
  159.                        $filePath = str_replace("\\", "/", $filePath);
  160.  
  161.                         // explode a string e dividi-lo pelo "." e pega so a posicao onde está o nome
  162.                         $explod = explode('.', $file->getBasename($filePath));
  163.  
  164.                         //substitui underline por um espaço em branco
  165.                         $str_replace = str_replace("_", " ", $explod[0]);
  166.  
  167.                         // transforma a primeira letra de cada palavra em Maiúscula
  168.                         $upper_first_name = ucwords($str_replace);
  169.  
  170.                         $div = '<div class="col s12  m4  l2  item" data-aos="fade"  data-src="' . $file . '" data-sub-html="<h4>Fading Light</h4><p>Descrição aqui</p>"><br>
  171.                                    <a href="#"><img height="100%" width="100%" src="' . $file . '" alt="IMage" class="img-fluid "></a>
  172.                                            
  173.                                </div>';
  174.                         echo $div;
  175.                     }
  176.                 }
  177.  
  178.                 ?>
  179.             </div>
  180.         </div>
  181.     </div>
  182.  
  183.     <?php
  184.  
  185.     }
  186.  
  187. ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.