Go kväll... :)
Jag har PatrikB´s eminenta pagingscript och då undrar jag hur man kan göra för att få att bilder visas utan att man använder sig av en databas utan bara pekar på en mapp så hämtar den alla bilder och presenterar det.
Har nån lust att förklara hur jag går tillväga?
Tack på förhand
Jonas
PatrikBMedlem sedan mars 20002 836 inlägg Lista bildfilerna med FSO och spar värdena/filnamnen i ett recordset, dynamiskt skapat.
Sök på Dynamiskt recordset eller kika in på Vides sida: https://www.webeye.nu
cya,
PatrikB
PatrikBMedlem sedan mars 20002 836 inlägg fick lite tid över .....
Byt ut funktionen getRecords mot denna.
<%
Function getImages
Dim objFSO, objFolder, File, objRSimg
Dim strExtension
Const adChar = 129
Set objRSimg = Server.CreateObject("ADODB.Recordset")
objRSimg.Fields.Append "ImageName", adChar, 255
objRSimg.Open
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("D:\webbar\minwebb\images\")
For Each File IN objFolder.Files
strExtension = objFSO.GetExtensionName(File)
Select Case UCase(strExtension)
Case "GIF", "JPG"
objRSimg.AddNew
objRSimg("ImageName") = File.Name
objRSimg.Update
End Select
Next
Set objFolder = Nothing
Set objFSO = Nothing
If Not objRSimg.EOF Then
objRSimg.MoveFirst
getImages = objRSimg.GetRows()
End If
objRSimg.Close
Set objRSimg = Nothing
End Function
%>
du måste oxå ändra getRecords till getImages lite längre ned på sidan där du skapar arrayen som ska lista ut resultatet
cya,
PatrikB
PatrikBMedlem sedan mars 20002 836 inlägg oj, du måste oxå ändra sökvägen till mappen som bilderna ligger i
cya,
PatrikB
Tack så hemskt mycket :e :e :e :e :e
Jag blev så exalterad så jag avr tvungen att börja pilla med en gång, men jag får det inte att funka riktigt, när jag sätter in min mapp som den sak hämta bilderna från, sidan står bara och laddar utan att man får ett felmeddelande, jag bifogar filen om du har lusta att ta en titt?
Sen blir jag jätteglad om du kan förklara lite hurfunktionen fungerar och hur jag ska göra med arrayen, helt enkelt hur den nya koden fungerar, så jag fattar lite mer ;)
tack så hemskt mycket
Jonas
PatrikBMedlem sedan mars 20002 836 inlägg Laddade ned din sida och bytte endast sökväg till bildmappen och det funkade.
Du får inga felmeddelande?
Har lagt till kommentarer i koden som du kan kika på, i funktionen getImages.
cya,
PatrikB
Så nu funkar det kude inte köra den på min IIS på XP utan provade på en annan dator och då funkade det utmärkt, tack så hemskt mycket :)
@ndersMedlem sedan juni 200032 969 inlägg
sidan står bara och laddar utan att man får ett felmeddelande
Det luktar Norton lång väg. Om du har Norton Antivirus på maskinen, läs detta: http://www.iisfaq.com/Articles/387/ .
Mvh,
Jag vill använda mig av Server.MapPath i Set objFolder = objFSO.GetFolder("D:\webbar\minwebb\images\")
går det att lösa, har provat men vet inte hur ajg ska skriva för att få det att funka :S
Sen sak jag skicka med i en QueryString vilken mapp bilderna ligger i men den sidan som "hämtar" bilderna liggeri en frame och när jag länkar till sidan från en annan länkar jag på framesidan, hur får jag en sida att ta emot QueryStringén som ligger i den framen?
Hoppas jag har gjort mig förstådd ;)
Tack på förhand
solbulleMedlem sedan mars 20015 287 inlägg På fråga ett säger jag:
Set objFolder = objFSO.GetFolder(Server.Mappath("images"))
På fråga två visar jag dig ett script jag använder för att visa bilder.
<%
'solbulles visabild.asp
Response.Write "<p><b>Välj mapp. </b></p>"
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(SCRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folist = folist & "<a href=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</a>"
folist = folist & "<BR>"
Next
Response.Write folist & "<p>"
mapp = Request.querystring("mapp")
IF mapp <> "" then
Response.Write "<b>Bilder i mappen: " & mapp & "</b><p>"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
For each Item In Files
If isValidFile(Item.Name) Then
Response.Write "<img src=""" & mapp & "/" & Item.Name & """><br>"
End if
Next
End If
Function isValidFile(filename)
fileExtension = lcase(right(filename,4))
select case fileExtension
case ".gif",".jpg",".png","jpeg"
isValidFile = TRUE
case else
isValidFile = FALSE
end select
End Function
%>
PatrikBMedlem sedan mars 20002 836 inlägg Det med länkar & querystrings gör du som vanligt. På länken i en frame:
<A href="visa_bilder.asp?folder=images" target="minAndraFrame">Visa bilder i images</A>
När du tar emot querystringen på sidan som ska visa bilder:
strFolder = Request.QueryString("folder")
'## -- fysiska sökvägen till mappen från root --
strFolderPath = Server.MapPath("/" & strFolder")
'## -- hämta folder info --
Set objFolder = objFSO.GetFolder(strFolderPath)
cya,
PatrikB
Jag får detta felmeddelande när jag försöker använda Bild-pagingscriptet:
Visar nu sida 1 av 3
Körningsfel i Microsoft VBScript fel '800a0009'
Felaktigt matrisindex: '[number: 1]'
/db/bilder.asp, rad 199
Rad 199 är denna:
strNamn = arrRecords(1,I)
och allt som jag har ändrat är sökvägen till mappen:
Set objFolder = objFSO.GetFolder(Server.MapPath("thumbs"))
Vad är felet?
solbulleMedlem sedan mars 20015 287 inlägg Ska det inte stå:
strNamn = arrRecords(0,I)
där?