Exibir imagens de um arquivo php dentro de outro arquivo com foreach usando interatorRecursive
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.
-
recursivo_arquivos_fotos
-
uso css do materialize. e outros css personalizado de exibicao de imagens do lithgalery
-
-
essa parte do codigo pega minhas imagens em uma pasta e monta um card para mim
-
-
arquivo index.php segue a parte que importa do codigo
-
<?php
-
-
$direct = "../mdjr/producoes/img/img_cards/";
-
-
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($direct),RecursiveIteratorIterator::LEAVES_ONLY);
-
-
/**
-
* Pega os arquivos de imagem e monta os cardes para mim
-
*/
-
-
foreach ($files as $name => $file)
-
{
-
#verifica se nao é um diretorio caso não são arquivos
-
if (!$file->isDir())
-
{
-
#o metodo getRealPath tira todos os subdiretorios
-
$filePath = $file->getRealPath();
-
-
#o metodo getBasename pega pega o nome
-
$relativePath = $file->getBasename($filePath);
-
-
#trata as barras de acordo com o SO
-
$filePath=str_replace("\\","/",$filePath);
-
-
// explode a string e dividi-lo pelo "." e pega so a posicao onde está o nome
-
$explod = explode('.',$file->getBasename($filePath));
-
-
//substitui underline por um espaço em branco
-
$str_replace = str_replace("_"," ",$explod[0]);
-
-
// transforma a primeira letra de cada palavra em Maiúscula
-
$upper_first_ame = ucwords($str_replace);
-
-
-
/**
-
* Varre o arquivo em busca de estrigs e pega liunha por linha
-
* @var $descricao_cards
-
* @var $linha
-
* @var $linhas
-
*/
-
$descricao_cards = file("../mdjr/producoes/arquivos_links/descricao_cards.txt");
-
foreach($descricao_cards as $linha)
-
{
-
$linhas[] = $linha;
-
}
-
-
-
-
-
$r = count($linha);
-
for($i = 0; $i < $r; $i++)
-
{
-
-
if(!isset($linhas[$y]))
-
{
-
$count = 0;
-
$y = 0;
-
}
-
-
}/Fim/
-
-
-
?>
-
<br>
-
<!--Inicio Card horizontal-->
-
<div class="container">
-
<div class="row">
-
<div class="">
-
<div class="card">
-
<div class="card-image waves-effect waves-block waves-light">
-
<img src="<?php echo $direct.$file->getBasename($filePath);?>" class="activator responsive-img" alt="<?php echo $file->getBasename($filePath);?>">
-
</div>
-
-
<div class="card-content">
-
<span class="card-title activator grey-text text-darken-4"><?php echo $upper_first_ame;?><i class="material-icons right">more_vert</i></span>
-
<p><a href="#">Mais detalhes</a></p>
-
</div>
-
-
<div class="card-reveal">
-
<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>
-
<p><a href="#">Mais detalhes</a></p>
-
</div>
-
<ul class="collapsible">
-
<li>
-
<div class="collapsible-header"><i class="material-icons">filter_drama</i><?php echo 'Ver Fotos de '. $upper_first_ame;?></div>
-
<div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span><?php include "producoes/controller/controller.php"; echo $div; ?></span></div>
-
</li>
-
</ul>
-
-
</div>
-
</div>
-
</div>
-
</div>
-
-
<?php
-
}
-
}
-
-
?>
-
-
essa outra parte do codigo deixei para ao clicar ele desce e exibe as imagens que estou carregando em outro arquivo chamado controller.php
-
<ul class="collapsible">
-
<li>
-
<div class="collapsible-header"><i class="material-icons">filter_drama</i><?php echo 'Ver Fotos de '. $upper_first_ame;?></div>
-
<div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span><?php include "producoes/controller/controller.php"; echo $div; ?></span></div>
-
</li>
-
</ul>
-
nessa linha a baixo mostra onde a div funcioa como um link de botao que ao clicar ela chamar o controller.php
-
<div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>">
-
-
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.
-
<div class="collapsible-body" href="producoes/controller/controller.php?card=<?php echo $count++ ?>"><span>
-
-
-
agora o arquivo controller.php
-
-
<?php
-
/**
-
* Created by PhpStorm.
-
* User: joannes
-
* Date: 28/03/19
-
* Time: 15:30
-
*/
-
-
//$options = $_GET['card'];
-
-
-
if($_GET['card'] == '0') {
-
-
?>
-
-
-
<div class="row escuro">
-
<div class="col s12 m12">
-
<div id="lightgallery" class="list-unstyled ">
-
<?php
-
$direct = "../img/cards/card_eventos";
-
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($direct),RecursiveIteratorIterator::LEAVES_ONLY);
-
-
foreach ($files as $name => $file)
-
{
-
#verifica se nao é um diretorio caso não são arquivos
-
if (!$file->isDir()) {
-
#o metodo getRealPath tira todos os subdiretorios
-
$filePath = $file->getRealPath();
-
-
$tam = $file->getSize();
-
-
#o metodo getBasename pega o nome
-
$relativePath = $file->getBasename($filePath);
-
-
#trata as barras de acordo com o S.O
-
$filePath = str_replace("\\", "/", $filePath);
-
-
// explode a string e dividi-lo pelo "." e pega so a posicao onde está o nome
-
$explod = explode('.', $file->getBasename($filePath));
-
-
//substitui underline por um espaço em branco
-
$str_replace = str_replace("_", " ", $explod[0]);
-
-
// transforma a primeira letra de cada palavra em Maiúscula
-
$upper_first_name = ucwords($str_replace);
-
-
$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>
-
<a href="#"><img height="100%" width="100%" src="' . $file . '" alt="IMage" class="img-fluid "></a>
-
-
</div>';
-
echo $div;
-
}
-
}
-
-
?>
-
</div>
-
</div>
-
</div>
-
-
<?php
-
-
}
-
-
?>
Discussão (0)
Carregando comentários...