Jump to content
Fórum Script Brasil
  • 0

Galeria de imagens


EGS

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...