Avatar billede carsten_mc Nybegynder
15. juni 2010 - 18:03 Der er 11 kommentarer og
1 løsning

Hjælp til galleri

Hej

Jeg skal have lavet et nyt galleri. Galleriet jeg har pt. finder billederne i en bestemt mappe og viser små udgaver af dem, hvor man så trykker på billedet og den så bliver forstørret over de andre billeder.

Det nye galleri skal kunne arbejde med undermapper, så man kan have forskellige kategorier, og fungere ligesom dette galleri: http://www.jbs-fodbold.dk/Microput%20U9/Billedgalleri.aspx

Har søgt på nettet men har ikke kunne finde noget der lignede det jeg søgte efter.

Håber der er nogen der kan hjælpe mig.
Avatar billede frozenink Nybegynder
15. juni 2010 - 18:24 #1
Det kan laves med en (Access) database + Back-end + kategorier + tæller osv. se evt. et eksempel her:
http://www.rodeorm.dk/gal/gal_default.asp

Det er et kraftigt modificeret galleri som hed(der) DU Gallery, hed for firmaet er lukket, du kan dog stadig finde ude på nettet, eller jeg kan hjælpe dig.

En anden løsning kan du finde her.
http://www.dt.net.nz/?p=2
Her er det faktisk kun designet (CSS) du skal bekymre dig om, samt huske at lave thumbnails til dine billeder.
Et eksempel her:
http://www.tattootour.info/
Avatar billede frozenink Nybegynder
15. juni 2010 - 18:27 #2
Hov glemte.
Begge er bygget på ASP med en (Access) database, samt de er freeware.
Avatar billede carsten_mc Nybegynder
15. juni 2010 - 18:37 #3
Skal helst ikke være en der bruger Access da jeg uploader hele mapper med billeder gennem en FTP-klient, og mapperne er mellem 60-300MB, så det skal helst være noget som selv kan "læse" filerne på serveren.
Avatar billede frozenink Nybegynder
15. juni 2010 - 19:06 #4
Dit nuværende galleri du omtaler, det er vel opbygget med FSO ??
Som dette: http://www.rodeorm.dk/test.asp
Avatar billede carsten_mc Nybegynder
15. juni 2010 - 20:11 #5
Ja, bruger FSO:

Min kode ser således ud lige nu:
<%
border_size = "0"
border_color = "silver"
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

qfolder = request.querystring("f")
if qfolder = "" then
    folderspec = server.mappath("\images")
    Set filesys = CreateObject("Scripting.FileSystemObject")
    Set demofolder = filesys.GetFolder(folderspec)
    Set folcoll = demofolder.SubFolders
    For Each subfol in folcoll
        folsize = left((subfol.size/1000000), 3)
        folist = folist & "<a href='?f=" & subfol.name & "'><strong title='view'>»</strong> " & subfol.Name & " </a><small> (" & folsize & " MB)</small>" & vbcrlf
        folist = folist & "<BR>"
    Next
    set filesys = nothing
    Response.Write folist

else
    folderspec = server.mappath("\images") & "\" & qfolder
    Set filesys = CreateObject("Scripting.FileSystemObject")
    Set demofolder = filesys.GetFolder(folderspec)
    Set folcoll = demofolder.SubFolders
    For Each subfol in folcoll
        folsize = left((subfol.size/1000000), 3)
        folist = folist & "<a href='?f="&qfolder& "\" & subfol.name & "'><strong title='view'>»</strong> " & subfol.Name & " </a><small> (" & folsize & " MB)</small>" & vbcrlf
        folist = folist & "<BR>"
    Next
    set filesys = nothing
    Response.Write folist

filepath = server.mappath("\images") & "\" & qfolder
captionfile = filepath & "\captions.txt"
Set filesys = CreateObject("Scripting.FileSystemObject")
Dim SomeArray()
'caption part
    If filesys.FileExists(captionfile) then
        set file = filesys.GetFile(captionfile)
        Set TextStream = file.OpenAsTextStream(ForReading,TristateUseDefault)
        captioncount = 0
        Do While Not TextStream.AtEndOfStream
            Line = TextStream.readline
            ReDim Preserve SomeArray(captioncount)
            SomeArray(captioncount) = line
            'response.write captioncount & " " & somearray(captioncount) & "<br>"
            captioncount = captioncount + 1
            'Response.write Line
        Loop
        textStream.close
    end if

'folder part
    Set demofolder = filesys.GetFolder(filepath)
    Set filecoll = demofolder.Files
    filecount = 0
    For Each file in filecoll
        Ext = UCase(Right(File.Path, 3))
        If Ext = "JPG" OR Ext = "GIF" OR Ext = "WMV" Then
        on error resume next
        data = SomeArray(filecount)
        on error goto 0
        hrefpath = qfolder & "/" & file.name
        imagepath = "<strong>" & data & "</strong><a id='settings' href='images\" & hrefpath & "' border=0 rel='group'><img src='thumbnail.asp?FileName=" & hrefpath & "&wsize=110&hsize=101' border='0' style='padding:3px;'></a>"
        filist = filist & imagepath
        filist = filist & ""   
        filecount = filecount + 1
        data = ""
        end if
    Next
    set filesys = Nothing
    filist = filist & ""
%>

<h3><a href = "java script:history.back()">«
 Tilbage</a></h3>
                <!-- Thumbnails -->
                    <%=filist%>

Ved godt det er lidt rodet, men det er også bikset sammen af en masse forskellige ting.
Avatar billede frozenink Nybegynder
16. juni 2010 - 07:12 #6
Et eksempel jeg tror kommer tæt på, kan evt. bruges sammen med dit nuværende.
http://www.eksperten.dk/spm/723904

Har du prøvet at søge her i ASP afsnittet?
http://www.eksperten.dk/search?q=FSO+flere+mapper+billeder&category=3&days_back=-1&date_start=DD%2FMM%2F%C5%C5%C5%C5&date_end=DD%2FMM%2F%C5%C5%C5%C5

Og ellers fandt jeg et færdigt galleri, eneste fejl = betaling $ 97,-.
http://www.xigla.com/absoluteig/index.htm
Avatar billede carsten_mc Nybegynder
16. juni 2010 - 20:47 #7
Har prøvet at rodde lidt videre med det og jeg er kommet frem til dette:
http://sloejfeloebet.dk/test.asp

Problemet er bare at den tager alle filer to gange, og jeg ved simpelthen ikke hvorfor. Koden er således:
<%
Dim objFSO, objFolder, Path, subPath, antalFiler

antalFiler = 0
subPath = "images/Tour de Bornholm 2008"
Path = Server.MapPath("/"&subPath)

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Path)

For Each file in objFolder.Files
  antalFiler = antalFiler + 1
Next

show=request.querystring("show")
billedeSti = "images/Tour de Bornholm 2008"
antalBillederPrSide = 1
antalBillederPrRekke = 1


if Request.QueryString("billede") = "" then
  start = request.querystring("pic")
  if start = "" then start = 0

  Set fs = CreateObject("Scripting.FileSystemObject")
  Set f = fs.GetFolder(server.mappath(billedeSti))

  Set fc = f.Files
  For Each billed in fc
    if inStr(1,"gif,jpg,jpeg,bmp",LCase(fs.GetExtensionName(billed.name))) > 0 then
      arrayBuild = arrayBuild & billed.name & "|"
    end if
  next
  if arrayBuild <> "" then arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))

  myArray = Split(arrayBuild, "|")

  Antalsider = int(ubound(myarray) / antalBillederPrSide)
  antal = 0
  for i = start to (start + antalBillederPrSide-1)
    if not i > ubound(myarray) then
      if antal = 0 then Response.Write "<TR>"
%>
<td ><p align="center">
<a href="?billede=<%=billedeSti%>/<%=myArray(i)%>">
<img SRC="<%=billedeSti%>/<%=myArray(i)%>" border="0" color="black" height="275">
</a></td>
<%
    else
      nesteside = 1
    end if

    antal = antal + 1
    if antal = antalBillederPrRekke then
      Response.Write "</TR>"
      antal = 0
    end if
  next
  if antal > 0 then Response.Write "</TR>"
%>
  </table>
  <center>
<%
  if start <> 0 then
    response.write "<a href=""?pic=" & (start - antalBillederPrSide) & "&show=" & show & """>Forrige</a>"
  end if
  response.write("&nbsp;")
  if nesteside <> 1 and then
    response.write "<a href=""?pic=" & (start + antalBillederPrSide) & "&show=" & show & """>Næste</a>"
  end if
%>
  </center>
<%
else
  'Vis billedet
%>
  <tr><td align="center">
  <img SRC="<%=Request.QueryString("billede")%>" border="1">
  <p align="center"><a href = "java script:history.back()">Tilbage</a></p>
  </td>
  </tr>
  </table>
<%
end if %>




<!--Lav thumbnails med start-link-id-->
<%
pic=request.querystring("pic")
antalBillederPrSide = 4
antalBillederPrRekke = 4


if Request.QueryString("billede") = "" then
  start = request.querystring("show")
  if start = "" then start = 0

  Set fs = CreateObject("Scripting.FileSystemObject")
  Set f = fs.GetFolder(server.mappath(billedeSti))

  Set fc = f.Files
  For Each billed in fc
    if inStr(1,"gif,jpg,jpeg,bmp",LCase(fs.GetExtensionName(billed.name))) > 0 then
      arrayBuild = arrayBuild & billed.name & "|"
    end if
  next
  if arrayBuild <> "" then arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))

  myArray = Split(arrayBuild, "|")

  Antalsider = int(ubound(myarray) / antalBillederPrSide)
  antal = 0
  for i = start to (start + antalBillederPrSide-1)
    if not i > ubound(myarray) then
      if antal = 0 then Response.Write ""
%>
<a href="?pic=<%=i%>&show=<%=start%>">
<img SRC="<%=billedeSti%>/<%=myArray(i)%>" border="0" color="black" height="70">
</a>
<%
    else
      nesteside = 1
    end if

    antal = antal + 1
    if antal = antalBillederPrRekke then
      Response.Write "</TR>"
      antal = 0
    end if
  next
  if antal > 0 then Response.Write ""
%>
  </table>
  <center>
<%
  if start <> 0 then
    response.write "<a href=""?pic=" & pic & "&show=" & (start - antalBillederPrSide) & """>Forrige</a>"
  end if
  response.write("&nbsp;")
  if nesteside <> 1 then
    response.write "<a href=""?pic=" & pic & "&show=" & (start + antalBillederPrSide) & """>Næste</a>"
  end if
%>
  </center>
<%
else
  'Vis billedet
%>
  <tr><td align="center">
  <img SRC="<%=Request.QueryString("billede")%>" border="1">
  <p align="center"><a href = "java script:history.back()">Tilbage</a></p>
  </td>
  </tr>
  </table>
<%
end if %>
Avatar billede frozenink Nybegynder
16. juni 2010 - 23:01 #8
Det må være denne linje nede i bunden som "læser" din QueryString 2 gange, prøv at bruge din "vis kilde".
<img SRC="<%=Request.QueryString("billede")%>" border="1">

der finder du <img SRC + din billede sti 2 gange, 1 fra hoved motivet og 1 fra din T-nail.

Har ikke umiddelbart en løsning, men kan du ikke omgå fejlen ved F.eks. at bruge noget java til at åbne billedet med, som denne.
http://highslide.com/
Avatar billede carsten_mc Nybegynder
16. juni 2010 - 23:46 #9
Den linje du henviser til bliver faktisk ikke brugt til noget, har slettet den og det hjælper ikke på det.

Mit problem er at hvis du blader alle billederne igennem (Både ved det store billede og ved min bladrefunktion med thumbnails) så har den "talt" alle billederne to gange.

For selve bladringen og visningen af billederne fungere nogenlunde. Det er kun det med at den "tæller" billederne to gange som gør at det ikke virker lige nu.
Avatar billede carsten_mc Nybegynder
16. juni 2010 - 23:48 #10
Og det sidste billede gider den ikke og vise.
Avatar billede carsten_mc Nybegynder
16. juni 2010 - 23:53 #11
Det med at den ikke kan vise det sidste billede. Det er kun ved mine små billeder at den ikke viser den. Ved det store viser den rigtig.
Avatar billede carsten_mc Nybegynder
17. juni 2010 - 01:15 #12
Så har jeg løst problemet med at den talte dobbelt. Så må vi jo se om jeg kan få lavet den sidste halvdel til den.

frozenink jeg har accepteret dit tidligere svar. Tak for hjælpen og så må vi se om jeg vender tilbage hertil efter mere hjælp hehe.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester