echo "$titulo"; ?>
$dir = fotos;
# Imprimi foto principal em tamanho real
if (isset($_GET['show'])) {
$foto = $_GET['show'];
echo "";
exit;
}
$n_thumb = 20; # Numero de Thumbs por pagina
$n_cols = 5; # Numero de colunas p/ os Thumbs
$escala = 5; # Escala para qual sera gerado Thumb: Tamanho/Escala
# Obtem diretorio a ser aberto
if (isset($_GET['dir'])){
$dir = $_GET['dir'];
}
$$dir = @opendir($dir) or # O Diretorio especificado é aberto
die("Erro: Diretório solicitado inexistente!");
# Gera um array como um indice de todas as fotos
while (false !== ($file = readdir($$dir))) {
if ($file != "." && $file != ".." && $file != "Thumbs.db") {
$i++;
$indice[$i] = "$dir/$file";
}
}
$indice = array_chunk($indice,$n_thumb); # Gera as paginas, divindo o indice como uma matriz
$n_page = count($indice); # Calcula o Numero de Paginas, -1 devido a o indice inicia em 0
# Corrige a indexação de paginas que iniciam em zero, cometido pelo array_chunck
for($i=$n_page; $i >= 0; $i--){
$indice[$i+1] = $indice[$i];
}
# Define pagina a ser aberta
if (isset($_GET['pagina'])){
$pagina = $_GET['pagina'];
} else {
$pagina = 1;
}
# Testa se pagina é valida
if ($pagina > $n_page || $pagina == 0) {
die("Erro: Pagina solicitada inexistente!");
}
# Define foto a ser aberta como principal
if (isset($_GET['foto'])){
$foto = $_GET['foto'];
} else {
$foto = 0;
}
$path = $indice[$pagina][$foto]; # Armazena o path do arquivo
$size = getimagesize($path); # Obtem as medidas da Foto
$larg = $size[0]/$escala*5; # Calcula a largua do thumb
$alt = $size[1]/$escala*5; # Calcula a altura do thumb
# Imprimi as fotos
for ($i=0; $i < $n_thumb; $i++) {
if ($indice[$pagina][$i] != "") { # Evita erro de Logica na ultima pagina
$path = $indice[$pagina][$i]; # Armazena o path do arquivo
$size = getimagesize($path); # Obtem as medidas da Foto
$larg = $size[0]/$escala; # Calcula a largua do thumb
$alt = $size[1]/$escala; # Calcula a altura do thumb
echo "
"; #imprimi a foto
if (($i+1) % $n_cols == 0) {
print " ";
}
} # end_if
} # end_for
print "";
///////////////////////////////PAGINAÇÃO ANTERIOR///////////////////////////////////
$ant = $pagina-1;
if ($pagina == "1") {
echo "";
} else {
echo "
Anterior ";
}
/////////////////////////// fim / /////////anterior/////////
for ($i=1; $i <= $n_page; $i++) { # Imprime indice de paginas
if ($i != $pagina) { # Testa se a pagina atual, é diferente da que esta sendo percorrida
echo "
$i"; # gera o link p/ a pagina atual
} else {
echo " [$i]"; # gera o link p/ a pagina atual porem sublinhada
}
}
///////////////////////////////PAGINAÇÃO PROXIMA///////////////////////////////////
$pag = $i-1;
$prox = $pagina+1;
if ($pagina == "$pag") {
echo "";
} else {
echo "
Próxima";
}
//////////////////////fim//////////proxima/////////////////////
print " |
";
?> |