Avatar billede mosegris.dk Nybegynder
05. juni 2005 - 16:59 Der er 2 kommentarer og
1 løsning

Photoalbum skal hente billeder fra anden mappe på serveren

Hey!

Jeg har et script. Det checker undermapper i den mappe siden ligger i. Derfra henter den så billeder. I kan se eksempel på http://www.interad.dk/photo/PhotoAlbum.asp

Jeg vil dog gerne ha at den henter mapperne et andet sted fra serveren. F.eks. http://www.interad.dk

Hvordan gøres det? Scriptet ser ud således:




####################################################

<html>
<head>
<title>Billeder af 1.q</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("style.css");
-->
</style>
</head>

<%

' Vælg fotos her:

Dim CurFile, PopFileShowSub, ShowPic, PictureNo
Dim strPathInfo, strPhysicalPath


Dim intTotPics, intPicsPerRow, intPicsPerPage, intTotPages, intPage, strPicArray()
intPicsPerRow  = 4
intPicsPerPage = 8

intPage = CInt(Request.QueryString("Page"))
If intPage = 0 Then
    intPage = 1
End If


CurFile = "PhotoAlbum.asp"
PopFile = "ShowPicture.asp"
%>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript">
<!--
function jumppage(sel)
{
  var i = sel.selectedIndex
  self.location.href = sel.options[i].value
}
// -->
</script>
<script language="JavaScript">
<!-- hide from JavaScript-challenged browsers
function openGalleryWindow(url) {
    if (document.all)
        var xMax = screen.width, yMax = screen.height;
    else
        if (document.layers)
            var xMax = window.outerWidth, yMax = window.outerHeight;
        else
            var xMax = 800, yMax=600;
    var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;
    var xOffset = 100, yOffset = 100;

    popupWin =

window.open(url,'new_page','width=700,height=535,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',scrollbars=auto,toolbars=no,menubar

=no,resizable=yes')
}
// done hiding -->
</script>

<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
<tr>

<td align="center" width="25%">
  <form action=<%=PopFile%> method="POST">
  <font face="<%= strDefaultFontFace %>" size="<% =strFooterFontSize %>" color="<% =strBaseFontColor %>"><b>Koncerter</b>
  <select name="go" onChange="jumppage(this);" size=1>
  <%
  ShowSub = request("ShowSub")
  ShowPic = request("ShowPic")
  strPathInfo = Request.ServerVariables("PATH_INFO")
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFile = objFSO.GetFile(strPhysicalPath)
  Set objFolder = objFile.ParentFolder
  Set objFolderContents = objFolder.Files
  For each Folder in objFolder.SubFolders
      If Left(Folder.Name,1)<>"_" Then
          Response.write "<option "
          If ShowSub=Folder.Name Then
              Response.Write "selected "
          End if
          Response.Write"value='" & CurFile & "?ShowSub="
          Response.Write(Replace(Folder.Name, " ", "%20"))
          response.write "'>"
          Response.Write(Folder.Name & "</option>")
          If ShowSub <= " " Then
            ShowSub = Folder.Name
        End if
      End if
  Next
  Set objFSO = Nothing
  %>
  </select></h3>
  </form>
  </td>
</tr>
</table>


<%
If ShowPic > " " then
  ShowPic = Replace(ShowPic, " ", "%20")
  Response.Write "<a href='java script:history.go(-1)'><img src='" & ShowPic & "'><BR><BR><font face=""verdana"" size=""1""><b>Go Back</b></a>"
Else
%>
  <table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
  <tr>
  <%
  strPhysicalPath = Server.MapPath(".\" & ShowSub)
  If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files



    'Get the number of pictures in the subdirectory
    intTotPics = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            intTotPics = intTotPics + 1
        End if
    Next

    'Get the total number of pages in the subdirectory
    If (intTotPics/intPicsPerPage) = (int(intTotPics/intPicsPerPage)) Then
        intTotPages = int(intTotPics/intPicsPerPage)
    Else
        intTotPages = int(intTotPics/intPicsPerPage)+1
    End If
    Redim strPicArray(2,intTotPics)

    'Store picture file names in an array
    x = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            strPicArray(0,x) = objFileItem.Name
            strPicArray(1,x) = Cstr(int(x/intPicsPerPage)+1)
            x = x + 1
        End if
    Next

    'Determine if there are multiple pages and if so, display page numbers.
    If intTotPages > 1 Then
        Response.Write "<td colspan='" & intPicsPerRow & "' align='center'><font face='Verdana,Arial' size='1'>Side:&nbsp;&nbsp;&nbsp;"
        For x = 1 to intTotPages
            If x = intPage Then
                Response.Write "</font><font face='Arial' size='3'>" & x & "</font><font face='Arial' size='1'>&nbsp;&nbsp;&nbsp;&nbsp;"
            Else
                Response.Write "<a href='PhotoAlbum.asp?Page=" & x & "&ShowSub=" & ShowSub & "'>" & x & "</a>&nbsp;&nbsp;&nbsp;&nbsp;"
            End If
        Next
        Response.Write "</font></td>"
        Response.Write "</tr><tr><td>&nbsp;</td></tr><tr>"
    End If


    For x = 0 to UBound(strPicArray,2)-1
    If CInt(strPicArray(1,x)) = intPage Then
    ShowPic = Replace(strPicArray(0,x), " ", "%20")
        Response.write "<td align='center' width='25%'><a href=""java script:openGalleryWindow('" & PopFile & "?ShowPic=" & ShowSub & "/" & ShowPic & "')"""
      Response.write "<br>"
      Response.Write("<img src='" & ShowSub & "/" & strPicArray(0,x) & "' width=150> ")
      Response.Write("<br><font color=""" & strBaseFontColor & """><b>" & Mid(strPicArray(0,x),1,Len(strPicArray(0,x))-4) & "</b></font>")
      Response.write "</a></td>" & vbcrlf

      PictureNo = PictureNo + 1
      If PictureNo=intPicsPerRow Then
          Response.write "</tr><tr>"
          PictureNo = 0
      End if
    End If
    Next



    Set objFSO = Nothing
  End if
  %>
  </tr>
  </table>
<%
End if
%>
</center>
</html>

<html>
<head>
<title>Billeder af 1.q</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("style.css");
-->
</style>
</head>

<%

' Vælg fotos her:

Dim CurFile, PopFileShowSub, ShowPic, PictureNo
Dim strPathInfo, strPhysicalPath


Dim intTotPics, intPicsPerRow, intPicsPerPage, intTotPages, intPage, strPicArray()
intPicsPerRow  = 4
intPicsPerPage = 8

intPage = CInt(Request.QueryString("Page"))
If intPage = 0 Then
    intPage = 1
End If


CurFile = "PhotoAlbum.asp"
PopFile = "ShowPicture.asp"
%>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript">
<!--
function jumppage(sel)
{
  var i = sel.selectedIndex
  self.location.href = sel.options[i].value
}
// -->
</script>
<script language="JavaScript">
<!-- hide from JavaScript-challenged browsers
function openGalleryWindow(url) {
    if (document.all)
        var xMax = screen.width, yMax = screen.height;
    else
        if (document.layers)
            var xMax = window.outerWidth, yMax = window.outerHeight;
        else
            var xMax = 800, yMax=600;
    var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;
    var xOffset = 100, yOffset = 100;

    popupWin =

window.open(url,'new_page','width=700,height=535,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',scrollbars=auto,toolbars=no,menubar

=no,resizable=yes')
}
// done hiding -->
</script>

<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
<tr>

<td align="center" width="25%">
  <form action=<%=PopFile%> method="POST">
  <font face="<%= strDefaultFontFace %>" size="<% =strFooterFontSize %>" color="<% =strBaseFontColor %>"><b>Koncerter</b>
  <select name="go" onChange="jumppage(this);" size=1>
  <%
  ShowSub = request("ShowSub")
  ShowPic = request("ShowPic")
  strPathInfo = Request.ServerVariables("PATH_INFO")
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFile = objFSO.GetFile(strPhysicalPath)
  Set objFolder = objFile.ParentFolder
  Set objFolderContents = objFolder.Files
  For each Folder in objFolder.SubFolders
      If Left(Folder.Name,1)<>"_" Then
          Response.write "<option "
          If ShowSub=Folder.Name Then
              Response.Write "selected "
          End if
          Response.Write"value='" & CurFile & "?ShowSub="
          Response.Write(Replace(Folder.Name, " ", "%20"))
          response.write "'>"
          Response.Write(Folder.Name & "</option>")
          If ShowSub <= " " Then
            ShowSub = Folder.Name
        End if
      End if
  Next
  Set objFSO = Nothing
  %>
  </select></h3>
  </form>
  </td>
</tr>
</table>


<%
If ShowPic > " " then
  ShowPic = Replace(ShowPic, " ", "%20")
  Response.Write "<a href='java script:history.go(-1)'><img src='" & ShowPic & "'><BR><BR><font face=""verdana"" size=""1""><b>Go Back</b></a>"
Else
%>
  <table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#000000" width="100%" id="AutoNumber1">
  <tr>
  <%
  strPhysicalPath = Server.MapPath(".\" & ShowSub)
  If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files



    'Get the number of pictures in the subdirectory
    intTotPics = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            intTotPics = intTotPics + 1
        End if
    Next

    'Get the total number of pages in the subdirectory
    If (intTotPics/intPicsPerPage) = (int(intTotPics/intPicsPerPage)) Then
        intTotPages = int(intTotPics/intPicsPerPage)
    Else
        intTotPages = int(intTotPics/intPicsPerPage)+1
    End If
    Redim strPicArray(2,intTotPics)

    'Store picture file names in an array
    x = 0
    For Each objFileItem in objFolderContents
        If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" THEN
            strPicArray(0,x) = objFileItem.Name
            strPicArray(1,x) = Cstr(int(x/intPicsPerPage)+1)
            x = x + 1
        End if
    Next

    'Determine if there are multiple pages and if so, display page numbers.
    If intTotPages > 1 Then
        Response.Write "<td colspan='" & intPicsPerRow & "' align='center'><font face='Verdana,Arial' size='1'>Side:&nbsp;&nbsp;&nbsp;"
        For x = 1 to intTotPages
            If x = intPage Then
                Response.Write "</font><font face='Arial' size='3'>" & x & "</font><font face='Arial' size='1'>&nbsp;&nbsp;&nbsp;&nbsp;"
            Else
                Response.Write "<a href='PhotoAlbum.asp?Page=" & x & "&ShowSub=" & ShowSub & "'>" & x & "</a>&nbsp;&nbsp;&nbsp;&nbsp;"
            End If
        Next
        Response.Write "</font></td>"
        Response.Write "</tr><tr><td>&nbsp;</td></tr><tr>"
    End If


    For x = 0 to UBound(strPicArray,2)-1
    If CInt(strPicArray(1,x)) = intPage Then
    ShowPic = Replace(strPicArray(0,x), " ", "%20")
        Response.write "<td align='center' width='25%'><a href=""java script:openGalleryWindow('" & PopFile & "?ShowPic=" & ShowSub & "/" & ShowPic & "')"""
      Response.write "<br>"
      Response.Write("<img src='" & ShowSub & "/" & strPicArray(0,x) & "' width=150> ")
      Response.Write("<br><font color=""" & strBaseFontColor & """><b>" & Mid(strPicArray(0,x),1,Len(strPicArray(0,x))-4) & "</b></font>")
      Response.write "</a></td>" & vbcrlf

      PictureNo = PictureNo + 1
      If PictureNo=intPicsPerRow Then
          Response.write "</tr><tr>"
          PictureNo = 0
      End if
    End If
    Next



    Set objFSO = Nothing
  End if
  %>
  </tr>
  </table>
<%
End if
%>
</center>
</html>
Avatar billede davidfossil Nybegynder
05. juni 2005 - 19:58 #1
Kan du ikke bare skifte...

<img src='" & ShowPic & "'>

...ud med...

<img src='/WhateverFolder/" & ShowPic & "'>

...?
Avatar billede mosegris.dk Nybegynder
17. juni 2005 - 18:08 #2
Nej, ku jeg ikke få til at virke! :(
Avatar billede mosegris.dk Nybegynder
06. februar 2006 - 13:15 #3
Æv..!
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