28. februar 2005 - 18:47Der er
14 kommentarer og 1 løsning
Galleri - Mapper i forudbestemt folder
-Hej Eksperter...
-Jeg fandt for lang tid siden en billed-upload med tilhørende galleri til gratis download på nettet og har nu brug for at rette den lidt til, hvilket jeg har problemer med... Koden for galleriet er følgende: ------------------------------------- <% Response.Buffer = True %><html>
<head> <script language="JavaScript"> <!-- function jumppage(sel) { var i = sel.selectedIndex self.location.href = sel.options[i].value } // --> </script> </head>
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></td> </tr> <tr> <td align="center" width="49%" height="1"> </td> <td align="center" width="12%" height="1"> </td> </tr> </table>
<% If ShowPic > " " then ShowPic = Replace(ShowPic, " ", "%20") Response.Write "<a href='java script:history.go(-1)'><img border=1 src='" & ShowPic & "'><BR><BR><B><font size='2'>Tilbage til sidste side</font></B></a>" Else %> <table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#000000" width="789" id="Pics1"> <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 For Each objFileItem in objFolderContents If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" OR Ucase(Right(objFileItem.Name,4))=".BMP" THEN ShowPic = Replace(objFileItem.Name, " ", "%20") 'Response.write "<td align='center' width='25%'><a href=" & ShowSub & "\" Response.write "<td align='center' width='25%'><a href=" & CurFile & "?ShowPic=" & ShowSub & "\" & ShowPic 'Response.Write(Replace(objFileItem.Name, " ", "%20")) Response.write ">" Response.Write("<img border=1 src='" & ShowSub & "\" & objFileItem.Name & "' width=100>") Response.Write("<p align='center'><b>" & Mid(objFileItem.Name,1,Len(objFileItem.Name)-4) & "</b>") Response.write "</a></td>" PictureNo = PictureNo + 1 If PictureNo=4 Then Response.write "</tr><tr>" PictureNo = 0 End if End if Next Set objFSO = Nothing End if %> </tr> </table> <% End if %>
</body> </html> ------------------------------------- -Mit problem er nu, hvordan jeg får koden til at vise alle undermapper i en forudbestemt folder i stedet for bare i den folder, som galleri-filen ligger i... (Folderen hedder "upload")
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Det er linjerne : ----------------------- 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 ------------------------ Som finder frem til den mappe du er I Hvis du ønsker en anden placering kan du rette i de linjer. Det må være den nedeste linje som definerer hvilken folder/mappe du ønsker der skal kigges i
Ja, jeg gættede også på, det var en af følgende to linjer: Set objFolder = objFile.ParentFolder Set objFolderContents = objFolder.Files Mit problem er bare, at jeg har forsøgt at skrive forskellige ting, men ikke kan få det til at virke... Jeg ved ikke, hvordan jeg ellers skal skrive det. Nogen der kan hjælpe med det?
prøv neden under linjen: Set objFolder = objFile.ParentFolder at skrive : Response.Write(objFolder) Så kan du jo se hvordan den nuværende mappe skal skrives Deraf burde du kunne se hvordan du skal skrive den mappe du ønsker og så skal du bare rette så der står: Set objFolder = "den rigtige mappe"
Desværre, jeg fik den til at udskrive det og har efterlignet det med den rigtige adresse på forskellige måder, men den skriver fejl :(
Prøvede blandt andet: Set objFolderContents = "c:\Placering\Websted\Mappe" Og: Set objFolderContents = "c:\Placering\Websted\Mappe\" Og: Set objFolderContents = c:\Placering\Websted\Mappe Og: Set objFolderContents = c:\Placering\Websted\Mappe\
jamen hvad siger den hvis du bare beder den om at skrive objFolder ud som den var oprindeligt ?... er nysgerrig for at se hvordan den beskriver mappen Evt kan du forsøge lave en mappath på upload
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></td> </tr> <tr> <td align="center" width="49%" height="1"> </td> <td align="center" width="12%" height="1"> </td> </tr> </table>
<% If ShowPic > " " then ShowPic = Replace(ShowPic, " ", "%20") Response.Write(ShowPic & "<br>") Response.Write "<a href='java script:history.go(-1)'><img border=1 src='" & ShowPic & "'><BR><BR><B><font size='2'>Tilbage til sidste side</font></B></a>" Else %> <table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#000000" width="789" id="Pics1"> <tr> <% strPhysicalPath = "C:\webs\talkactive\web7910\2biaz.dk\upload" & "\" & ShowSub Response.Write(strPhysicalPath & "<br>") If ShowSub > " " then ShowSub = Replace(ShowSub, " ", "%20") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strPhysicalPath) Set objFolderContents = objFolder.Files For Each objFileItem in objFolderContents If Ucase(Right(objFileItem.Name,4))=".GIF" OR Ucase(Right(objFileItem.Name,4))=".JPG" OR Ucase(Right(objFileItem.Name,4))=".BMP" THEN ShowPic = Replace(objFileItem.Name, " ", "%20") Response.write "<td align='center' width='25%'><a href=" & CurFile & "?ShowPic=" & "upload\" & ShowSub & "\" & ShowPic & ">" Response.Write("<img border=1 src='" & "upload\" & ShowSub & "\" & objFileItem.Name & "' width=100>") Response.Write("<p align='center'><b>" & Mid(objFileItem.Name,1,Len(objFileItem.Name)-4) & "</b>") Response.write "</a></td>" PictureNo = PictureNo + 1 If PictureNo=4 Then Response.write "</tr><tr>" PictureNo = 0 End if End if Next Set objFSO = Nothing End if %> </tr> </table> <% End if %>
ovenstående virker hos mig. Jeg ved ikke hvordan du kører det om du simulerer det på din pc fremfor at lægge det ud ? Hvis jeg skal få den til at vise mine billeder på nettet så skal "\" der hvor den laver sit <img> rettes til "/"
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.