Avatar billede chaser64 Nybegynder
29. september 2005 - 20:14 Der er 6 kommentarer og
3 løsninger

Vis billeder fra mappe

Hej Eksperter

Jeg skal lave et lille galleri på min hjemmeside, hvor man i administrationen kan vælge hvilken mappe der skal vises billeder fra.

Siden skal så tage den sti, som er angivet, og vise alle billeder som er i den mappe.

Ville være fint, hvis jeg kunne styre hvilke billeder der måtte vises. eks.:

pictures = *.jpg, *.jpeg, *.gif 'osv...


Men hvordan ser det FSO-script ud :o) ???


Venlig Hilsen

Casper...
Avatar billede Slettet bruger
30. september 2005 - 01:10 #1
Hej Casper

Jeg har et lille "standard" FSO-script til dig, som blandt andet kan bruges.
Nedenstående kode skal du indsætte i en fil, som skal hedde "gall.asp":
Avatar billede Slettet bruger
30. september 2005 - 01:12 #2
<%
cols=10
if Request.QueryString("dir") <> "" then
dim image_directory, Image_Array, count_image, randomfile, directory, allfiles, image
image_directory = "" & Request.QueryString("dir") & ""
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files
Image_Array = image.Name
TRCount=TRCount+1
%>
<td width="<%="" & formatnumber("" & 100/cols & "",0,0) & ""%>%">
<p align="center">
<img src="<%="" & image_directory & "/" & Image_Array & ""%>" border="0">
</p>
</td>
<%
if TRCount=cols then
Response.Write "</tr>"
Response.Write "<tr>"
TRCount=0
end if
Next
end if
%>
Avatar billede Slettet bruger
30. september 2005 - 01:14 #3
Linket i den fil som skal refererer til ovenstående skal for eksempel så således ud:
<a href="gall.asp?dir=MinBilledMappe">SE BILLEDER</a>
Avatar billede Slettet bruger
30. september 2005 - 11:09 #4
Hej

Jeg beklager! Jeg laver lige scriptet lidt om, da der ikke skal indgå en tabel i det!
Her kommer det rigtigt script:
<%
cols=10
if Request.QueryString("dir") <> "" then
dim image_directory, Image_Array, count_image, randomfile, directory, allfiles, image
image_directory = "" & Request.QueryString("dir") & ""
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files
Image_Array = image.Name
TRCount=TRCount+1
%>
<p align="center">
<img src="<%="" & image_directory & "/" & Image_Array & ""%>" border="0">
</p>
<%
if TRCount=cols then
Response.Write "<br>"
TRCount=0
end if
Next
end if
%>

Jeg har i øvrigt lavet det sådan at der bliver skiftet linie for hvert 10. billede. Men dette kan du selv lave om. Dette gøres ved at ændre tallet foroven i scriptet hvor der står "10" nu, til noget andet...

Med venlig hilsen
Dan
Avatar billede chaser64 Nybegynder
02. oktober 2005 - 11:22 #5
Hej Dan

Det er et super script, og virker næsten efter hensigten :o)

Det eneste jeg mangler er, at den skal tjekke om filen er et billede!! Hvis ikke skal den IKKE vises..

Jeg har lige lagt en .txt fil i mappen, og så forsøger den at vise den som et billede!!

Ved du evt. hvordan jeg kommer uden om den?
Avatar billede Slettet bruger
02. oktober 2005 - 16:37 #6
Hej igen.

OK her er der så et script som kan kende forskel på filformaterne:
<%
cols=10
if Request.QueryString("dir") <> "" then
dim image_directory, Image_Array, count_image, randomfile, directory, allfiles, image
image_directory = "" & Request.QueryString("dir") & ""
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files
Image_Array = image.Name
TRCount=TRCount+1
dim fsE
set fsE=Server.CreateObject("Scripting.FileSystemObject")
Ext = "" & fsE.GetExtensionName("c:\files\" & Image_Array & "") & ""
ExtL = "" & lcase("" & Ext & "") & ""
if (ExtL = "jpeg" OR ExtL = "jpg" OR ExtL = "gif") then
%>
<p align="center">
<img src="<%="" & image_directory & "/" & Image_Array & ""%>" border="0">
</p>
<%
end if
set fsE=nothing
if TRCount=cols then
Response.Write "<br>"
TRCount=0
end if
Next
set allfiles=nothing
set directory=nothing
end if
%>
Dette script vil kun vise billeder som er af formatet "jpeg", "jpg" eller "gif", og alt andet i mappen vil den ikke vise.
Du skal bare lige være opmærksom på at du skal skrive den fuldstændige sti på mappen, der hvor der nu står "c:\files\"

Med venlig hilsen
Dan
Avatar billede Slettet bruger
02. oktober 2005 - 16:40 #7
Arh... SORRY!!!
Her er det rigtigt script:
<%
cols=10
if Request.QueryString("dir") <> "" then
dim image_directory, Image_Array, count_image, randomfile, directory, allfiles, image
image_directory = "" & Request.QueryString("dir") & ""
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files
Image_Array = image.Name
TRCount=TRCount+1
dim fsE
set fsE=Server.CreateObject("Scripting.FileSystemObject")
Ext = "" & fsE.GetExtensionName("c:\files\" & Image_Array & "") & ""
ExtL = "" & lcase("" & Ext & "") & ""
if (ExtL = "jpeg" OR ExtL = "jpg" OR ExtL = "gif") then
%>
<p align="center">
<img src="<%="" & image_directory & "/" & Image_Array & ""%>" border="0">
</p>
<%
if TRCount=cols then
Response.Write "<br>"
TRCount=0
end if
end if
set fsE=nothing
Next
set allfiles=nothing
set directory=nothing
end if
%>
Dette her virker nemlig også med at det skifter linie for hvert 10. billede...

Hilsen
Dan
Avatar billede Slettet bruger
02. oktober 2005 - 21:10 #8
Hej igen...

Jeg er vist lidt af et rodehovede når det kommer til ASP. Men her er den nyeste og bedste udgave af scriptet:
<p align="center">
<%
cols=10
if Request.QueryString("dir") <> "" then
dim image_directory, Image_Array, count_image, randomfile, directory, allfiles, image
image_directory = "" & Request.QueryString("dir") & ""
Set directory=server.createobject("scripting.filesystemobject")
Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files
Image_Array = image.Name
TRCount=TRCount+1
dim fsE
set fsE=Server.CreateObject("Scripting.FileSystemObject")
Ext = "" & fsE.GetExtensionName("" & image_directory & "/" & Image_Array & "") & ""
ExtL = "" & lcase("" & Ext & "") & ""
if (ExtL = "jpeg" OR ExtL = "jpg" OR ExtL = "gif") then
%>
<img src="<%="" & image_directory & "/" & Image_Array & ""%>" border="0">
<%
if TRCount=cols then
Response.Write "<br>"
TRCount=0
end if
end if
set fsE=nothing
Next
set allfiles=nothing
set directory=nothing
end if
%>
</p>
Her virker dette med linjeskift for hvert 10. billede optimalt, og scriptet starter kun hvis querystringen "dir" indeholder noget.
Men bedst af alt, så viser scriptet kun billedformaterne "jpeg", "jpg" og "gif".
Sig endelig til hvis der skal flere formater på.

Med venlig hilsen
Dan
Avatar billede chaser64 Nybegynder
03. oktober 2005 - 09:51 #9
Smukt!!!
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