Ir ao conteúdo
  • Cadastre-se

PHP - Galeria de Imagens


andbecker

Posts recomendados

Olá pessoal, finalmente deixei o código de galeria de fotos como eu queria, ou quase isso. Falta só uma coisa, um laço de repetição que numere as páginas, mas não sei fazer isso em php, tão pouco onde adicionar o laço. [Código baseado no código de galeria do Rodrigo Araujo]

segue o código:

<?php

$pag = $_GET['pag'];

if (!$pag) {
$pag = 1;
}

$totalImgs = 12; //Quantidade de imagens por página
$inicio = $pag * $totalImgs - $totalImgs;

//PASTA DAS IMAGENS

$dir = ("imgs/");
$abrir = opendir($dir);
$arquivos = array();
//LOCALIZA APENAS AS IMAGENS QUE INICIAM COM p
foreach (glob($dir . "*") as $file) {
if (($file != '.') && ($file != '..')) {
//FORMATO DAS IMAGENS
if ((!is_dir($file)) && (eregi('(jpeg|JPG|jpg|gif|png|bmp)$', $file))) {
$arquivos[] = $file;
}
}
}

$total = count($arquivos); //total de arquivos
$paginas = ceil($total / $totalImgs); //arquivos por pagina 30/10=3

for ($i = $inicio; $i < $inicio + $totalImgs && $i < $total; $i++) {

if ($i % 5 == 0) {
//PEGA A PROPORÇÃO DA IMAGEM
$imgsize = GetImageSize("$arquivos[$i]");
$img_w = 160; //$imgsize[0];
$img_h = 120; //$imgsize[1];
$img_x = $imgsize[0];
$img_y = $imgsize[1];
echo '<img alt=' . $arquivos[$i] . ' src="' . $arquivos[$i] . '" width="' . $img_w . '" height="' . $img_h . '" class="ampliarimagem" onClick="window.open(\'' . $arquivos[$i] . '\',\'imagem' . $i . '\',\'width=' . $img_x . ',height=' . $img_y . ',location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no\')"> ';
} else {
//PEGA A PROPORÇÃO DA IMAGEM
$imgsize = GetImageSize("$arquivos[$i]");
$img_w = 160; //$imgsize[0];
$img_h = 120; //$imgsize[1];
$img_x = $imgsize[0];
$img_y = $imgsize[1];
echo '<img alt="' . $arquivos[$i] . '" src="' . $arquivos[$i] . '" width="' . $img_w . '" height="' . $img_h . '" class="ampliarimagem" onClick="window.open(\'' . $arquivos[$i] . '\',\'imagem' . $i . '\',\'width=' . $img_x . ',height=' . $img_y . ',location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no\')"> ';
}
}


if ($pag > 1) {
$ant = $pag - 1;
echo '<p class="align-right"><a href="' . $PHP_SELF . '?pag=' . $ant . '"><u>Anterior</u></a>';
} else {
echo '<p class="align-right">Anterior';
}

if ($pag < $paginas) {
$pro = $pag + 1;
echo ' <a href="' . $PHP_SELF . '?pag=' . $pro . '"><u>Próximo</u></a>';
} else {
echo ' Próximo</p>';
}
?>

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!