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

Galeria De Fotos Com Fso


Guest Vitor Arouca

Pergunta

Guest Vitor Arouca

eu estou a fazer uma galeria de fotos com recurso ao FSO sem necessitar de banco de dados.

Este código vai buscar imagens a uma pasta e coloca na página... mas se eu tiver 100 fotos ele vai colocar 100 na mesma página..

Então o que eu queria era colocar 9 fotos por página do tipo (3x3) e que o código gerasse um link para a página seguinte onde iriam aparecer as próximas 9 fotos e assim sucessivamente... é claro que também teria de funcionar o link "Anterior".

sei como fazer isso utilizando banco de dados, mas com FSO está um pouco dificil...

Esse código está a funcionar, mas só para ter uma ideia do que pretendo fazer...

Agradeço a vossa ajuda desde já...

Vitor Arouca

<%@Language="VBScript"%>
<%Option Explicit
Response.Expires = 0%>
<html>
<head>
</head>
<body>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="10">
	<tr>
  <%DIM FSO, strCaminho, strPrincipal, strArquivos, xx, conta, strArq, pagina, fim, anterior, proxima

  strCaminho = "/imag"

  pagina = Request.QueryString("p")
  if pagina = "" then
  	pagina = 1
  end if

  Set FSO = Server.CreateObject("Scripting.FileSystemObject")
  Set strPrincipal = FSO.GetFolder(strCaminho)
  Set strArquivos = strprincipal.Files
  IF strArquivos.count=0 then
  	fim = 1%>
  	<td>
    Não existem imagens disponiveis
  	</td>
  <%else
  	xx=0
  	conta=3
  	FOR EACH strArq IN strArquivos 
    if xx < 9 then
    	xx = xx + 1

    	if conta=0 then
      response.write "</tr><tr>"	
      conta=3
    	end if

    	if strArq.name="Thumbs.db" then
    	else%>
    	<td>
      <a href="imag/<%=strArq.name%>"><img src="imagm/<%=strArq.name%>"></a>
    	</td>
    	<%end if
    	conta=conta-1

    end if
  	NEXT
  end if%>
	</tr>
</table>
<%if fim = "" then

	anterior = pagina - 1
	proxima = pagina + 1

	if anterior <> 0 then%>
  <a href="<%=request.servervariables("script_name")%>?p=<%=anterior%>"  onMouseOver="window.status='Página <%=anterior%>';return true" onMouseOut="window.status='';return true">Anterior</a><%
	end if%> 

	&nbsp; | &nbsp Página:  <%=pagina%>  &nbsp; | &nbsp  

	<a href="<%=request.servervariables("script_name")%>?p=<%=proxima%>"  onMouseOver="window.status='Página <%=proxima%>';return true" onMouseOut="window.status='';return true">Próxima</a><%

end if%>
<body>
</html>

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Caro Vitor,

Não é a utilização do recurso FSO que está causando o problema.

O problema está relacionado ao código que determina quantas imagens (enfim..., quantos elementos você vai inserir por página).

Utilize o mesmo procedimento que você adota para uma tabela, só que nesse caso você está utilizando uma pasta.

À noite vou analisar seu código minuciosamente.

Abçs

Rui Zilnet

Link para o comentário
Compartilhar em outros sites

  • 0

Será que não dá para criar um recordeset directamente da pasta???

Nunca vi algo parecido,

Caso não queira usar o arquivo texto temporário você via ter que exibir as fotos usando contadores dentro da pasta e usando comparações para exibir ou não, tipo se pagina = 4, exibir quando o contador for de (((pagina-1)*9)+1) ou seja 28 até (pagina*9) ou seja 36

Link para o comentário
Compartilhar em outros sites

  • 0

Modifiquei seu código da uma olha c da certo

<%@Language="VBScript"%>
<%Option Explicit
Response.Expires = 0%>
<html>
<head>
</head>
<body>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="10">
<tr>
 <%DIM FSO, strCaminho, strPrincipal, strArquivos, xx, conta, strArq, pagina, fim, anterior, proxima

 strCaminho = "/imag"

 pagina = Request.QueryString("p")
 if pagina = "" then
  pagina = 1
 end if

 Set FSO = Server.CreateObject("Scripting.FileSystemObject")
 Set strPrincipal = FSO.GetFolder(strCaminho)
 Set strArquivos = strprincipal.Files

 IF strArquivos.count=0 then
  fim = 1%>
  <td>
   Não existem imagens disponiveis
  </td>
 <%
  response.end 
  end if
  
xx=0
conta=3
FOR EACH strArq IN strArquivos 
  xx = xx + 1
  IF xx > ((pagina-1)*9) and xx < ((pagina*9)+1) then
       if conta=0 then
        response.write "</tr><tr>" 
        conta=3
      end if

      if strArq.name="Thumbs.db" then
      else%>
        <td>
        <a href="imag/<%=strArq.name%>"><img src="imagm/<%=strArq.name%>"></a>
       </td>
      <%end if
    conta=conta-1

   end if
  NEXT
%>
</tr>
</table>
<%if fim = "" then

anterior = pagina - 1
proxima = pagina + 1

if anterior <> 0 then%>
 <a href="<%=request.servervariables("script_name")%>?p=<%=anterior%>"  onMouseOver="window.status='Página <%=anterior%>';return true" onMouseOut="window.status='';return true">Anterior</a><%
end if%> 

&nbsp; | &nbsp Página:  <%=pagina%>  &nbsp; | &nbsp  

<a href="<%=request.servervariables("script_name")%>?p=<%=proxima%>"  onMouseOver="window.status='Página <%=proxima%>';return true" onMouseOut="window.status='';return true">Próxima</a><%

end if%>
<body>
</html>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...