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

Galeria Pronta, mas precisando de um pequeno detalhe


André Monjardim

Pergunta

Olá pessoal, estou precisando de uma ajuda com a minha Galeria de Imagens.

O código abaixo é bem simples e está funcionando perfeitamente.

Mesmo eu não entendendo muito de programação fui mexendo em alguns scripts e achei esse o ideal, mas gostaria que tivesse as funções de passar as fotos pra frente e pra trás... isso eu não estou conseguindo. Alguém pode me ajudar?

No final do script tem o link de teste.

Desde já agradeço.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Galeria de Fotos</title>

</head>

<body>

<table border="0" align="center" width="400" style="margin-top:0">

<tr>

<td align="center">

<?php

// Config

$dir="./";

@$imagem=$_GET["imagem"];

$dh=opendir($dir);

$imagens=6;

$self=index.php";

@$pop=$_GET["pop];

@$pag=$_GET["pag"];

if(!($pag)){

$pag=1;

}

if(isset($pop)){

$tamanho=strlen($imagem)-4;

$nomeimg=substr($imagem,"0",$tamanho);

// Foto clicada

echo "

<HTML>

<body>

<table border=1 width=100% cellpadding='5' cellspacing='5'>

<tr><td bgcolor='#2b2a2b' colspan=3>

&lt;script language='JavaScript'> document.write('<center><img src=\"$imagem\" border=\"0\">')</script><br>

</td></tr>

";

// Tenho dúvida neste ponto!

echo "

<td align=center><font face='verdana,arial' size='1'><a href=''><b><font color='#800000'>Anterior</font></b></a></td>

<td align=center><font face='verdana,arial' size='1'><a href='index.php'><b><font color='#800000'>Galeria</font></b></a></td>

<td align=center><font face='verdana,arial' size='1'><a href=''><b><font color='#800000'>Próxima</font></b></a></td></tr>

";

// Fim da Dúvida

echo "

<br>

</body>

</HTML>";

exit();

} else {

while(false!==($filename=readdir($dh))){

if(substr($filename,-4)==".jpg"){

$filearray[]=$filename;

sort($filearray);

}

}

$totfim=$pag*$imagens;

$inicio=$totfim-$imagens;

$total=count($filearray);

$totalpag=ceil($total/$imagens);

$ni2=ceil($imagens*$pag);

if($totfim>$total){

$totfim=$total;

}

// Galeria

echo "<table align='center' cellspacing='1' height='200' border='0' width='400'>";

echo "<tr><td height='1' bgcolor='#cccccc'></td></tr>";

echo "<tr><td height='150' align='center' bgcolor='#2b2a2b'>";

echo "<table border='0' cellspacing='2'><tr>";

$break=0;

for($i=$inicio;$i<$totfim;$i++){

$imagem=$filearray[$i];

$nome1=explode(".",$imagem);

$nome=$nome1[0];

echo "<td align='center' valign='baseline' bgcolor='#2b2a2b'>";

echo "<table cellspacing='1'><tr><td valign='baseline'><a href=index.php?imagem=$imagem&pop=1 target='_parent'><img src=thumbs/$imagem border=0 width=45></a>";

echo "</td></tr></table>";

}

// Paginação

$paginamax=$pag+1;

if($paginamax>$totalpag){

$paginamax=$totalpag;

}

if($paginamax<$totalpag){

}

$paginamin=$pag-1;

if($paginamin==0){

$paginamin=1;

}

echo "</td></tr></table>";

echo "<tr><td height='1' bgcolor='#cccccc'></td></tr>";

echo "</table>";

echo "<table border=0 width=100% align=center>";

echo "<tr><td align=left>";

echo "<font face='verdana' size='1'><a href='$self?pag=$paginamin'>Anterior</a></font></td>";

echo "<td align=right><font face='verdana' size='1'><a href='$self?pag=$paginamax'>Próxima</a></font></td></tr>";

echo "<tr><td colspan=2 align=center>";

for($pg=1;$pg<=$totalpag;$pg++){

echo "<font face='verdana,arial' size='2'><b><a href='$self?pag=$pg'>".$pg."</b></a>  "; }

echo "</td></tr>";

echo "<tr><td colspan=3 align=center>";

echo "<font face='verdana,arial' size='1'>Total imagens: ".$total;

echo " - ";

echo " Página atual: ".$pag."</font><br>";

echo "</td></tr></table><br>";

}

?>

</td>

<tr>

</table>

<br>

</body>

</html>

Editado por André Monjardim
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
Qualquer coisa tamo ae

o/

Descobri um problema que só apareceu agora. =[

Nas paginação da galeria se tiver mais de 15 páginas ela não quebra a linha nem a paulada! ela vai numerando direto desrespeitando o limite da width.

Já tentei travar com width, div... mas não quebra de forma alguma! ¬¬

você tem ideia de como resolver isso?

O trecho está aqui

echo "<table width='230' border='0' cellspacing='0' cellpadding='0' align='center'><tr>";
          echo "<td width='230'>";
        echo "<center>";
    for($pg=1;$pg<=$totalPag;$pg++){
        echo "<font face='verdana,arial' size='3'><b><a href='$self?pag=$pg'>".$pg."</b></a>  ";
        }
        echo "<br><font face='verdana,arial' size='1'>Total imagens: ".sizeof($arquivos)." - Página atual: ".$pag."</font><br><br></center>";
        echo" </td></tr></table>";

Se caso não tiver jeito, será que poderia ter um (Mais) ou (...) como no Google Exp. (1 2 3 4 5 6 7 8 9 10 Mais)

Mas só quebrando a linha já estaria bom demais!

Desde já agradeço

Editado por André Monjardim
Link para o comentário
Compartilhar em outros sites

  • 0

Opa, acabei nem pensando na possibilidade de haver tantas páginas...

Uma maneira de fazer as quebras de linha seria colocar esse if() no for():

for($pg=1;$pg<=$totalPag;$pg++){
            echo "<font face='verdana,arial' size='2'><b><a href='$self?pag=$pg'>".$pg."</b></a>&nbsp;&nbsp;";
            if(is_int($pg/10))
                echo "</br>";
        }

Neste caso, daria uma quebra de linha pra cada 10 links pras páginas.

Pra exibir estilo google (com mais, menos) é um pouco mais complicado.

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,8k
×
×
  • Criar Novo...