Jump to content
Fórum Script Brasil
  • 0

Galeria Pronta, mas precisando de um pequeno detalhe


Question

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>

Edited by André Monjardim
Link to post
Share on other sites

Recommended Posts

  • 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

Edited by André Monjardim
Link to post
Share on other 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 to post
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.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148880
    • Total Posts
      644927
×
×
  • Create New...