webForumDet fria alternativet

lista bilder från mapp

ASP

6 svar · 542 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#1

Hejsan!

Jag hittade det här scriptet här på WF en gång i tiden, och nu när jag såg det så tänkte jag att den kunde komma till nytta för mig, fast det är en sak som jag undrar ifall ni kan hjälpa mig med, nu är det så att scriptet listar alla bilder från mappen i dess naturliga storlek, jag undrar ifall man kan lista alla bilder från mappen och förminska dei både bredden o höjden, utan at bilderna skall synas avlånga, och när man därefter klickar på en bild så skall den visas i dess naturliga storlek... hoppas ni förstår vad jag menar, här är koden jag hittade här på WF...

<html>
<head>
	<title>Bilder...</title>
</head>

<body>
<%
'## -- hämta alla poster --
Function getImages
	Dim objFSO, objFolder, File, objRSimg
	Dim strExtension

	Const adChar = 129

'## -- skapar recordsetet --
	Set objRSimg = Server.CreateObject("ADODB.Recordset")
'## -- skapar en kolumn i recordsetet --
	objRSimg.Fields.Append "ImageName", adChar, 255

'## -- öppnar vårat skapade recordsetet --
	objRSimg.Open

'## -- skapar ett filesystemobject för att kunna få mapp information --
	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

'## -- hämtar mappinformation --
	Set objFolder = objFSO.GetFolder("c:\Inetpub\wwwroot\websida\images\")

'## -- här börjar vi att loopa igenom alla filer som finns i mappen --
	For Each File IN objFolder.Files
'## -- vilken filändelse har filen --
		strExtension = objFSO.GetExtensionName(File)
		
		'## -- se till att ändast .jpg läggs till --
			Select Case UCase(strExtension)
				Case "JPG"
				'## -- ställ recordsetet i update läge --
				objRSimg.AddNew
				
				'## -- vilken information ska läggas till i kolummen
				objRSimg("ImageName") = Trim(File.Name)
				
				'## -- uppdatera recordsetet med en ny post --
				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

'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
	Dim m_intStart
	m_intStart = ((PageSize * ViewPage) - PageSize)
	getStartID = m_intStart
End Function

'## -- räkna ut hur många sidor som ska visas --
Function countPages(ByVal HowManyRecords, ByVal PageSize)
	Dim m_intTotalPages, m_intRest

	m_intTotalPages = HowManyRecords / PageSize

	If m_intTotalPages < 1 Then
		m_intTotalPages = 1
	Else
		m_intRest = m_intTotalPages - CLng(m_intTotalPages)
			If m_intRest > 0 AND m_intRest < 0.5 Then
					m_intTotalPages = CLng(m_intTotalPages) + 1
			Else
					m_intTotalPages = CLng(m_intTotalPages)
			End If
	End If

'## -- ger hur många sidor --
	countPages = m_intTotalPages
End Function

'##***********************************************************************************

	Dim arrRecords
	Dim intPageSize
	Dim intPage
	Dim intStartID
	Dim I			
	Dim intTotalPages
	Dim intTotalRecords

'## -- vilken sida ska visas --
	intPage = Request.QueryString("page")
	If intPage = "" Then intPage = 1

'## -- hur många poster ska visas per sida --
	intPageSize = 9

'##**************************************************************************************
'## -- hämta alla records, hämtas med metoden getrows och returneras som en array. --

'## -- här hämtar vi alla bilder till en 2 dimensionell array --
	arrRecords = getImages

'## -- vilken post är den första --
	intStartID = getStartID(intPageSize, intPage)

'## -- printa ut sidan som ska visas
'##    alla poster finns i arrayen arrRecords som
'##    kommer från funktionen getRecords --
	If IsArray(arrRecords) Then
	'Response.Write "E ju en array<BR>"
	'## -- hur många records finns det totalt --
		intTotalRecords = UBound(arrRecords,2) + 1

	'## -- hur många sidor finns det i recordsetet --
		intTotalPages = countPages(intTotalRecords, intPageSize)

'## -- startar tabellen utanför loopen --
	Response.Write "<table border=""1"" cellpadding=""4"" cellspacing=""0"" width=""650""><TR>" & vbcrlf

'## -- Loopen av bilderna börjar

	For I = intStartID To ((intStartID + intPageSize) -1)
	'intId = arrRecords(0,I)
		intCounter = intCounter + 1
		strImageName = arrRecords(0,I)

		'## -- skriv ut en bild -- 
		response.write "<TD><A href=""images/" & Trim(strImageName) & """ target=""_blank""><IMG src=""images/" & Trim(strImageName) & """></A></TD>" & vbcrlf

			If I = UBound(arrRecords, 2) Then Exit For
	'## -- Kollar om tre bilder har gått

	IF intCounter = 9 Then 
		response.write ""
	ELSEIF intCounter mod 3 = 0 then
		response.write "</TR><TR>" & vbcrlf
	End IF
	Next

'## -- stänger tabellen efter loopen --
	Response.Write("</TR></table>")

%>
<p>
<%

'## -- skriv ut sidnavigerings menyn --
Call PrevPage(intPage)
	Response.Write("")

Call NextPage(intTotalPages,intPage)

'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	Response.Write("<table border=""1"" cellpadding=""0"" cellspacing=""0"" width=""680"">")

'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write("<tr><td align=""left"">" & _
		"<a href='" & strScriptName & "?" & "page=" & WichPage - 1 & "'>" & _
		"<img border=""0"" src=""../../bilder/pilar/left.gif"">&nbsp;Föregående</a></td>")
	Else
		Response.Write("<td align=""left""></td>")
	End If
End Sub

'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")
	
'## -- skriv ut en länk till nästa sida --
	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write("<td align=""right"">" & _
		"<a href='" & strScriptName & "?" & "page=" & WichPage + 1 & "'>" & _
		"Nästa&nbsp;<img border=""0"" src=""../../bilder/pilar/right.gif""></a></td></tr></table>")
	Else
		Response.Write("<td align=""right""></td></tr></table>")
	End If
End Sub

	Else
	'## -- inga poster fanns i db --
		intPage = 0
		intTotalRecords = 0
		intTotalPages = 0

	'## -- skriv ut att inga poster hittades --
		Response.Write("<P>Inga bilder hittades</P>")
	End If
%>
</body>
</html>
Medlem sedan juni 20019 519 inlägg
#2

<img src="bild.gif" size="50%"> typ?

Medlem sedan nov. 20017 144 inlägg
#3

Gör det med javascript och en popup i stället
Sätt endast tex bräddstorleken så ser det bättre ut.

Jag öppnar mina tumnaglar med detta:
Och skapar en querystring(pic) i bildlänken.

<%pic = request.querystring("pic")%>
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var isNav4, isIE4;
if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
isNav4 = (navigator.appName == "Netscape") ? 1 : 0;
isIE4 = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
}
function fitWindowSize() {
if (isNav4) {
window.innerWidth = document.layers[0].document.images[0].width;
window.innerHeight = document.layers[0].document.images[0].height;
}
if (isIE4) {
window.resizeTo(500, 500);
width = 500 - (document.body.clientWidth -  document.images[0].width);
height = 500 - (document.body.clientHeight -  document.images[0].height);
window.resizeTo(width, height);
   }
}
//  End -->
</script>
<title>Bildvisaren Bild: <%=pic%></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onBlur="window.close()" onLoad="fitWindowSize()">
<div style="position:absolute; left:0px; top:0px">

    <%Response.write "<img name='pic' alt='Event: Klicka på fönstret för att stänga det.' src='"& pic &"'>" %>

</div>
</body>
</html>
Medlem sedan nov. 20017 144 inlägg
#4

Eller i "Ren" kod:

 

<% 
pic = request.querystring("pic")
Dim sHTML : sHTML = "" 
 sHTML = " <html>" & vbcrlf & _ 
"<head>" & vbcrlf & _ 
"<SCRIPT LANGUAGE=""JavaScript"">" & vbcrlf & _ 
"<!-- Begin" & vbcrlf & _ 
"var isNav4, isIE4;" & vbcrlf & _ 
"if (parseInt(navigator.appVersion.charAt(0)) >= 4) {" & vbcrlf & _ 
"isNav4 = (navigator.appName == ""Netscape"") ? 1 : 0;" & vbcrlf & _ 
"isIE4 = (navigator.appName.indexOf(""Microsoft"") != -1) ? 1 : 0;" & vbcrlf & _ 
"}" & vbcrlf & _ 
"function fitWindowSize() {" & vbcrlf & _ 
"if (isNav4) {" & vbcrlf & _ 
"window.innerWidth = document.layers[0].document.images[0].width;" & vbcrlf & _ 
"window.innerHeight = document.layers[0].document.images[0].height;" & vbcrlf & _ 
"}" & vbcrlf & _ 
"if (isIE4) {" & vbcrlf & _ 
"window.resizeTo(500, 500);" & vbcrlf & _ 
"width = 500 - (document.body.clientWidth -  document.images[0].width);" & vbcrlf & _ 
"height = 500 - (document.body.clientHeight -  document.images[0].height);" & vbcrlf & _ 
"window.resizeTo(width, height);" & vbcrlf & _ 
"   }" & vbcrlf & _ 
"}" & vbcrlf & _ 
"//  End -->" & vbcrlf & _ 
"</script>" & vbcrlf & _ 
"<title>Bildvisaren Bild: <%=pic%" & "></title>" & vbcrlf & _ 
"<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">" & vbcrlf & _ 
"</head>" & vbcrlf & _ 
"<body bgcolor=""#FFFFFF"" text=""#000000"" leftmargin=""0"" topmargin=""0"" marginwidth=""0"" marginheight=""0"" onBlur=""window.close()"" onLoad=""fitWindowSize()"">" & vbcrlf & _ 
"<div style=""position:absolute; left:0px; top:0px"">" & vbcrlf &_
"<img name='pic' alt='Event: Klicka på fönstret för att stänga det.' src='"& pic &"'>"& vbcrlf &_
"</div></body></html>"
Response.write sHtml
%>
Medlem sedan dec. 20001 626 inlägg
#5

men hur ska jag ta mig åt för att baka in detta i koden jag skrev i mitt första inlägg?? ska jag skapa en ny fil o lägga den kod du gav mig? och hur ska jag göra sen med den fil som listar alla bilder (dvs filen jag skrev i mitt första inlägg)

Medlem sedan nov. 20017 144 inlägg
#6

Japp, du skall skapa en ny sida, och "ta med dig bildnamnet" med en querystring "pic"
popup.asp?pic=bild.gif

Såg att en rad var fel:
"<title>Bildvisaren Bild: <%=pic%" & "></title>" & vbcrlf & _
Skall förståss vara:
"<title>Bildvisaren Bild: "& pic &"</title>" & vbcrlf & _

Medlem sedan mars 20015 287 inlägg
269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)