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

Galeria de imagens


EGS

Pergunta

Olá galera, sou novo aqui no forum, assim como em programação php, e a minha dúvida é a seguinte, eu tenho uma galeria de imagens que está até funcionando direitinho, so que para mostrar miniaturas das imagens é preciso haver a miniatura da imagem, ou seja, o thumbnail na pasta onde ficam as fotos, então sempre que eu quero colocar uma imagem nova eu tenho criar o thumb para ela. Bom eu queria saber se alguêm poderia me ajudar a não precisar desses thumbs na pasta, eu sei que há como eles serem criados automaticamente, eu já vi galerias que é so colocar a imagem na pasta e já abre na galeria normalmente. Bom se alguém puder me ajudar ai eu agradeço. Eu vou postar o script da galeria de uma vez se alguém quiser dar uma olhada.

galeria.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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
    $url_galeria = "http://www.toprated.com.br/galeria.php";

    //URL onde o arquivo PHP vai ficar
    $pasta_fotos = "fotos_galeria";
    
    //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_fotos . '/{*_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>

Desde já eu agradeço a ajuda.vlw

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

se você não quer criar as thumbs, quando for usar a tag <img> limite o height e o width no tamanho que é sua thumb mas para funcionar assim a diminuiçãoda thumbs tem q ser uniforme todas as fotos da mesma dimensao diminuindo pro mesmo tamanho.

Link para o comentário
Compartilhar em outros sites

  • 0

Vlw JaguA pela dica, mas acontece que não seria funcional para mim fazer isso, olha como é a galeria nesse link aqui: http://www.toprated.com.br/galeria.php , para ter as imagens pequenas que lavam as grandes precisa do thumb, eu queria abolir esses thumbs, e que o redimensionamento da imagem menor fosse feito no codigo php, e quando eu clicasse na imagem menor levasse ate a maior, como no link. Vlw pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

É muito fácil 'redimensionar' imagens pelas funções da biblioteca de imagens do PHP. Aliás, não seria exatamente um processo de redimensionamento, mas sim, de criar uma imagem menor a partir do conteúdo de uma imagem maior.

O ponto fraco desse sistema é que, dependendo das dimensões da imagem-fonte, a imagem miniatura pode ficar com aquele aspecto esticado...

Para isso, é possível 'recortar' uma área da imagem fonte (geralmente um quadrado no centro ou centro-superior) para servir de imagem miniatura. Fiz algo assim para uma visualização de plantas de edifícios no meu último projeto. O Administrador faz o upload da imagem da planta, e então é recortado uma parte no centro da imagem para servir de miniatura.

Link para o comentário
Compartilhar em outros sites

  • 0

vlw pela ajuda ai galera. Eu dei uma pesquisada na net e enconteri uma classe chamada easyphpthumbnail nesse site aqui

http://taylorlopes.com/?p=657

mas eu não estou conseguindo fazer funcionar. Eu fiz um teste.php simples pra caramba só pra ver se funcionava, mas nada.

o teste.php fico assim

<?php
include_once('easyphpthumbnail.class.php');
$thumb = new easyphpthumbnail;
$thumb -> Createthumb('image.jpg');
?>

lembrando que eu tenho uma imagem chamada image. Na tela quando eu mando abrir aparece o seguinte: Createthumb('image.jpeg'); ?>

o que será que está errado.Por favor me a judem ai. Desde já agradeço.

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
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...