Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Tenho um sistema de upload que manda as fotos para uma pasta cujo nome é o id do registro no mysql e ele também gera thumbnails.
Exemplo:
Caminho das imagens reais: fotos/id-13/
Caminho das thumbnails: fotos/id13/thumbnails/
Preciso de um script que exiba as thumbnails da pasta na pagina, e que ao clicar na thumbnails ele exiba a imagem grande.
---------------------------------------
O que tenho até então, exibi a imagem original mais em tamanho pequeno e quando clica exibi ela grande, porém isto faz o carregamento ficar muito lento:
<?php
$folder = $imovel_id;
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
foreach (glob("../images/photos/realstate/$folder/.") as $filename)
{
echo ("<a href='$filename' rel='zoom' target='_blank'><img src='$filename' style='max-width:100px; height:80px; overflow:hidden'></a>");
}
if (empty($filename)) {
echo"Nenhuma foto adicional foi encontrada!";}
?>Cara, a questão não é tratar a imagem, pois tem a thumbnail e a imagem normal, eu só não sei como exibir a thumbnail e ao clikar nela exibir a imagem grande.
<a href='caminho_da_minha_imagem_grande/img_grand.jpg'><img src='minha_miniatura.jpg'></a>
Só isso
At+
Cara deste modo não da certo pois estou usando o forearch para exibir as imagens.
Tentei criar dois forearch mais não deu certo, pois as imagens não ficaram sincronizadas a thumbnail era uma e quando clicava abria outra.
Acho que eu criei de forma errada.
Acho entendi, você está listando direto da pasta correto?
Se sim, o melhor caminho para você seria colocar o mesmo nome para ambas as imagens e chamar a miniatura para exibição passando a pasta da imagem real para ser ampliada.
Ex:
$mini = "casa.jpg"; // supondo que esta imagem seja o thumbnail e está em /thumbnail/casa.jpg e irá chamar a imagem principal que está em /fotos/casa.jpg
echo "<a href='thumbnail/$mini'><img src='fotos/$mini'></a>";
Pelo que entendi é isso que precisa
at+
O problema é que eu estou usando o multiplo upload da developer tolbox, dai ele cria as thumbnails com o mesmo nome só que adiciona 150x100.jpg, exemplo: nomedafoto_150x100.jpg
E o $filename ali que o forearch gera é o caminho inteiro. no caso resultaria: "../images/photos/realstate/diretorio-das-fotos/as fotos estão aqui" e das thumbnails: "../images/photos/realstate/diretorio-das-fotos/thumbnails/as fotos estão aqui"
Acho que pode te ajudar:
Faça com que o seu forearch liste apenas os thumbnails que te retornará algo assim:
$filename = "../images/photos/realstate/diretorio-das-fotos/thumbnails/nomedafoto_150x100.jpg";
Com esse resultado você fará o seguinte:
$nome = end(explode("/",$filename)); // resultado: "nomedafoto_150x100.jpg"
$sofoto = substr($nome, 0, -12)."jpg"; // te resultará "nomedafoto.jpg"
echo "<a href='../images/photos/realstate/diretorio-das-fotos/$sofoto'><img src='$filename'></a>";
Não é uma solução muito aplicável mas acho que te ajuda.
At+
Vou ver se da certo.
cara deu certo. vlw mesmo!
Cara,
Não teria como mecher nesta função substr para não precisar ali usar a extensão.
Fazer com que em uma imagem "DSC_13_120x80.JPG" ela corte só o "_120x80" e mantenha o nome do arquivo e a extensão. pois o metodo de cima funcionou porém limita-se a imgens jpg.
Amigo, o tópico já estava como resolvido, mas vamos lá:
$nome = end(explode("/",$filename)); // resultado: "nomedafoto_150x100.jpg"
$sofoto = str_replace("_120x80","",$nome);
echo "<a href='../images/photos/realstate/diretorio-das-fotos/$sofoto'><img src='$filename'></a>";
at+
Pegue uma classe de tratamento de imagem e processe elas em tempo de execução eu uso a http://www.daviferreira.com/blog/post/8/manipulando-e-redimensionando-imagens-com-php.html