Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Galeria de Fotos em único arquivo PHP


FERSOLUINFO

Pergunta

Olá achei um código de galeria de imagens em um único arquivo PHP em http://www.toprated.com.br/galeria-de-fotos-super-simples-usando-apenas-1-arquivo-php/

Baixei o exemplo e fiz o teste, realmente é perfeito. O código possui variáveis que lê a pasta e o endereço (url) do arquivo. Mas neste exemplo, torna a galeria fixa. Gostaria de passar o endereço da pasta com as fotos via variável no PHP. Aí o código funciona em partes, ele gera os thumbs, mas quanto clico na miniatura, ele gera a visualização vazia. O que deve estar errado? segue os links para teste:

Galeria c/ valor de variavel fixa ( $pasta_fotos = "06513050"; ) - Funcionando OK

http://fernandoinformatica.com/pilastro/galeria/galeria.php

Galeria c/ valor de variavel dinamica ( $pasta_fotos = $_GET["pasta"]; ) - Erro

http://fernandoinformatica.com/pilastro/galeria/galeria2.php?pasta=06513050

O código abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Galeria Simples usando PHP</title>
<!--
###################################
## Estilos ##
###################################
-->
<style>
body {
text-align:center;
margin:0;
padding:0;
}
div {
padding:13px;
display:block;
border:1px solid #ddd;
background:#eee;
font-size:10px;
font-family:Arial, Helvetica, sans-serif;
color:#999;
margin:0 auto;
}
div.thumb {
float:left;
margin:0 14px 14px 0;
padding:0;
}
div.thumb a {
float:left;
padding:13px;
}
div.thumb a:hover {
background:#b70000;
}
div.thumb img {
width:100px;
height:100px;
}
div p {
padding:8px 0 0px;
margin:0;
}
div a {
color:#666;
text-transform:uppercase;
text-decoration:none;
font-weight:bold;
}
div a:hover {
color:#b70000;
text-decoration:underline
}
</style>
</head>
<body>
<!--
#################################
## Lógica ##
#################################
-->
<?php
//URL onde o arquivo PHP vai ficar
$pasta_fotos = $_GET["pasta"];
// $pasta_fotos = "06513050";
$pasta = $pasta_fotos;
//URL onde o arquivo PHP vai ficar
$url_galeria = "galeria2.php";
//Início da função
$fotos = array();
//Loop que percorre a pasta das imagens e armazena o nome de todos os arquivos
foreach(glob($pasta . '/{*_p.jpg,*_p.gif}', GLOB_BRACE) as $image) {
$fotos[] = $image;
}
//Verifica se deve exibir a lista ou uma foto
if ($_GET["image"] == "") {
//Faz o loop pelo folder de imagens
for($i=0; $i < count($fotos); $i++) {
//Cria cada uma das thumbs dentro de uma <div> com link para a imagem grande
echo "<div class='thumb'>";
echo "<a href='" . $url_galeria . "?image=" . $i . "'>";
echo "<img src='" . $fotos[$i] . "'>";
echo "</a>";
echo "</div>";
}
} else {
//Guarda o nome da imagem para montar o link da imagem grande
$foto_g = explode("_p", $fotos[$_GET["image"]]);
//Configura os links de próxima e anterior
if ( $_GET["image"] == 0 ) { $anterior = ""; } else { $anterior = $_GET["image"] - 1; }
if ( $_GET["image"] == count($fotos)-1 ) { $proxima = ""; } else { $proxima = $_GET["image"] + 1; }
//Quando solicitada uma imagem em particular, monta a <div> e insere a imagem grande de acordo com o link
echo "<div>";
echo "<a href='" . $url_galeria . "?image=" . $proxima . "'>";
echo "<img src='" . $foto_g[0] . "_g" . $foto_g[1] . "'>";
echo "</a>";
echo "<p><a href='" . $url_galeria . "?image=" . $anterior . "'>Foto anterior</a> | <a href='" . $url_galeria . "'>Voltar para a galeria</a> | <a href='" . $url_galeria . "?image=" . $proxima . "'>Próxima foto</a></p>";
echo "</div>";
}
?>
</body>
</html>
Gostaria de uma ajuda

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi Fernado!

Pelo que observei...

Quando se clica na miniatura, a variável pasta, some da url!

Você vai precisar das duas variáveis na url.

Coloque a variável pasta nos links de foto anterior e próxima foto

Ah! E tambem coloque nas miniaturas:

echo "<a href='" . $url_galeria . "?pasta=$pasta_fotos&image=" . $i . "'>";
echo "<img src='" . $fotos[$i] . "'>";
echo "</a>";
Editado por lowys
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...