webForumDet fria alternativet

Pagingscript + bilder

13 svar · 626 visningar · startad av LearningASP

LearningASPMedlem sedan okt. 2001127 inlägg
#1

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
#2

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
#3

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
#4

oj, du måste oxå ändra sökvägen till mappen som bilderna ligger i

cya,
PatrikB

LearningASPMedlem sedan okt. 2001127 inlägg
#5

Tack så hemskt mycket :e :e :e :e :e

LearningASPMedlem sedan okt. 2001127 inlägg
#6

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
#7

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

LearningASPMedlem sedan okt. 2001127 inlägg
#8

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
#9

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,

LearningASPMedlem sedan okt. 2001127 inlägg
#10

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
#11

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
#12

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

SimOnlineMedlem sedan juli 20031 132 inlägg
#13

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
#14

Ska det inte stå:

strNamn = arrRecords(0,I)

där?

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)