Avatar billede montago Praktikant
27. maj 2003 - 23:40 Der er 22 kommentarer og
1 løsning

vis mapper som links + filer som links

oki... jeg vil gerne have vist sub-folders (undermapper) som links, hvorefter de kan indættes som variabel... eller som session variabel

dealen er at jeg skal spare en masse kopieringer væk...

dvs. at når jeg trykker på "mappenavn" -linket, skal scriptet kører videre (og eventuelt lede efter flere undermapper) samtidig med at vise filer i første undermappe som link i sig selv...

mit udgangspunkt er et script jeg fik tidligere i http://www.eksperten.dk/spm/355164

hvor filer blev lavet til links, og brugt på næste side...

om muligt vil jeg gerne have samlet de to sider i een..
denne gang:

1. led efter mapper + filer og lav dem til links
"2. vis inholdet af valgte mappe udfør 1. igen"
3. brug fil-linket i fremvisnings scriptet (quicktime)

hvis quicktime scriptet ikke kan gøres "usynligt" er det fint at bruge linket som før brugt... dvs i "show.asp"
Avatar billede no_doubt Nybegynder
27. maj 2003 - 23:46 #1
lytter
Avatar billede eagleeye Praktikant
28. maj 2003 - 00:02 #2
Her er et eks som kan gå gemmen foldere, og vise filerne som links, iøjeblikket vises alle filerne.

Man angiver root folderen i vairablen sti

  sti = "/filer/film"



<html>
<head>
<title></title>

</head>
<body>

<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
  <td align="center" width="15%">
</td>
<td align="left" width="85%">
  <h3>Vælg folder :</h3>
  <%
  sti = "/filer/film"
  ShowSub = sti & request("ShowSub")
  ShowSubLink = request("ShowSub")
  strPathInfo = ShowSub
 
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(strPhysicalPath)

  For each Folder in objFolder.SubFolders
    If Left(Folder.Name,1)<>"_" Then
      Response.Write "<a href=""" & CurFile & "?ShowSub=" & ShowSubLink & "/"
      Response.Write(Replace(Folder.Name, " ", "%20"))
      response.write """>"
      Response.Write Folder.Name
      Response.Write "<br>"
    End if
  Next

  Set objFSO = Nothing
  %>
  </td>
</tr>
</table>
<hr>

<table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#111111" width="800" id="AutoNumber1">
<%
'Response.Write ShowSub  & "<br>"
'Response.Write strPhysicalPath
'Response.End

  SiteName = request.servervariables("script_name")
  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
      ShowPic = Replace(objFileItem.Name, " ", "%20")
      Response.write "<tr><td>"
      Response.Write "<a href=""" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
     
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
  %>
 
  </table>

</center>
</html>
Avatar billede montago Praktikant
28. maj 2003 - 00:17 #3
cool...
Avatar billede montago Praktikant
28. maj 2003 - 00:18 #4
det lyder måske underligt... men jeg acceptere så snart det virker for mig...
dvs.. jeg har nået mit mål...

selve scriptet du gav virker fint... ! igen :-)

på denne måde kan jeg få lidt hjælp undervejs
Avatar billede montago Praktikant
28. maj 2003 - 00:20 #5
jeg kunne godt tænke mig at MOV filer bliver brugt som før... dvs videresendt til show.asp

mens alle andre filer bliver brugt som alm fil links og derved kan blive downloadet...
Avatar billede montago Praktikant
28. maj 2003 - 00:29 #6
hmmm... der er et problem jeg lige har fanget... når man bruger mappelinket, og derefter trykker på et eventuelt fil-link... mangler der en ny grundadresse... dvs. at filer i undermapper ikke får den rigtige adresse, som de første filer automatisk har...
Avatar billede eagleeye Praktikant
28. maj 2003 - 00:34 #7
Prøv at lave dette om:

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
      ShowPic = Replace(objFileItem.Name, " ", "%20")
      Response.write "<tr><td>"
      Response.Write "<a href=""" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
     
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if



Til dette:

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
      Response.write "<tr><td>"
      if InStr(1,"mov", LCase(fs.GetExtensionName(objFileItem.name))) > 0 then

        Response.Write "<a href=""show.asp?file=" & ShowSub & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      else
        Response.Write "<a href=""" & ShowSub & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
Avatar billede eagleeye Praktikant
28. maj 2003 - 00:35 #8
Hov  fs.GetExtensionName  i if sætnignen
Skal være  objFSO.GetExtensionName
Avatar billede montago Praktikant
28. maj 2003 - 00:50 #9
hmm... sjovt nok kommer der et punktum for meget med i href...

?fil=.filnavn.mov

hehe
Avatar billede montago Praktikant
28. maj 2003 - 00:53 #10
mens der mangler en /'streg ved fil-links i undermapper...

deres link ser således ud

http://PC/mappe/mappefilnavn

skal se således ud

http://PC/mappe/mappe/filnavn
Avatar billede eagleeye Praktikant
28. maj 2003 - 00:53 #11
Hvad har du skrevet i variablen  sti?
Avatar billede eagleeye Praktikant
28. maj 2003 - 00:54 #12
Så bliver det;



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
      Response.write "<tr><td>"
      if InStr(1,"mov", LCase(fs.GetExtensionName(objFileItem.name))) > 0 then

        Response.Write "<a href=""show.asp?file=" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      else
        Response.Write "<a href=""" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
Avatar billede montago Praktikant
28. maj 2003 - 01:00 #13
hehe... jeg har lagt et "." i stien... ligsom sidst...
blot for at vise indholdet af mappen som filen i sig selv ligger i, samt mapper

så dette var min fejl...
spørgsmålet er så hvordan stien skal defineres... lokalt eller ?

fx. "d:\trailers\" eller
"." eller
"/trailers/"
Avatar billede eagleeye Praktikant
28. maj 2003 - 01:07 #14
Det skal være relativt angivet.

"/trailers/"
Avatar billede montago Praktikant
28. maj 2003 - 01:33 #15
oki... scriptet nu således ud...

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
  <td align="center" width="15%">
</td>
<td align="left" width="85%">
  <h3>Vælg folder :</h3>
  <%
  sti = "/trailers/"
  ShowSub = sti & request("ShowSub")
  ShowSubLink = request("ShowSub")
  strPathInfo = ShowSub
 
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(strPhysicalPath)

  For each Folder in objFolder.SubFolders
    If Left(Folder.Name,1)<>"_" Then
      Response.Write "<a href=""" & CurFile & "?ShowSub=" & ShowSubLink & ""
      Response.Write(Replace(Folder.Name, " ", "%20"))
      response.write """>"
      Response.Write Folder.Name
      Response.Write "<br>"
    End if
  Next

  Set objFSO = Nothing
  %>
  </td>
</tr>
</table>
<hr>

<table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#111111" width="800" id="AutoNumber1">
<%
'Response.Write ShowSub  & "<br>"
'Response.Write strPhysicalPath
'Response.End

  SiteName = request.servervariables("script_name")
  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
      Response.write "<tr><td>"
      if InStr(1,"mov", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then

        Response.Write "<a href=""show.asp?fil=" & ShowSub & "" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      else
        Response.Write "<a href=""" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
  %>
 
  </table>

men quicktime scripted i show.asp vil ikke æde stien...

evt. kik ind på
http://mdk2002.dyndns.org hovedside eller
http://mdk2002.dyndns.org/test.asp (det vi arbejder med)

strukturen er

/test.asp
/show.asp
/trailers/dk_show.asp

jeg har fjernet en /'streg således fil links i undermapper virker
Avatar billede montago Praktikant
28. maj 2003 - 01:37 #16
oki... nu fik jeg det til at virke...

/test.asp
/trailers/"alle mov filer"
/trailers/dk_show.asp

------------------------------------------------
dk_show.asp :

<html>
<head>
<title>Show selected Trailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<%
filnavn = Request.Querystring("fil")
%>
<body bgcolor="#6393D3" text="#000000">
<div align="center">
  <p>&nbsp;</p>
  <h1><font face="Times New Roman, Times, serif"><b><u><%=filnavn%></u></b></font></h1>
</div>
<div align="center">
  <TABLE WIDTH="600" BORDER="0" CELLPADDING="0" CELLSPACING="0">
    <TR>
      <TD WIDTH="600" VALIGN="top" ALIGN="CENTER">
        <div align="center"><font face="Times New Roman, Times, serif"><b>Tryk
          for at starte trailere... eller downoad filen l&aelig;ngere nede</b></font></div>
      </TD>
    </TR>
    <TR>
      <TD WIDTH="608" VALIGN="top" ALIGN="CENTER" background="/Trailers/back.jpg" height="360">
        <p>&nbsp;</p>
        <p><object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"  width="480" height="288" codebase="http://www.apple.com/qtactivex/qtplugin.cab">
            <param name="autoplay"          value="true">
            <param name="src"            value="qtstart5a_480x228.mov">
            <param name="controller"         value="false">
            <param name="target"            value="myself">
            <param name="href"            value="<%=filnavn%>">
            <param name="pluginspage"     value="http://www.apple.com/quicktime/download/indext.html">
          </object></p>
      </TD>
    </TR>
    <TR>
      <TD WIDTH="608" VALIGN="top" ALIGN="CENTER"><a href="/Trailers/dk_trailers.asp" target="_self"><font face="Times New Roman, Times, serif"><b>Tilbage
        til listen</b></font></a></TD>
    </TR>
  </TABLE>
</div>
<p>&nbsp;</p>
<table width="100%" border="0">
  <tr>
    <td width="30%">
      <div align="center"><a href="<%=filnavn%>">Hent
        Trailer</a></div>
    </td>
    <td width="70%">
      <div align="center">H&oslash;jreklik og v&aelig;lg &quot;Gem destination
        som&quot;</div>
    </td>
  </tr>
  <tr>
    <td width="30%">
      <div align="center"></div>
    </td>
    <td width="70%">
      <div align="center"></div>
    </td>
  </tr>
</table>
</body>
</html>

------------------------------------------

Test.asp :

<html>
<head>
<title>Trailers selecion</title>

</head>
<body bgcolor="#6393D3" text="#000000">
<center>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
  <td align="center" width="15%">
</td>
<td align="left" width="85%">
  <h3>Vælg folder :</h3>
  <%
  sti = "/trailers/"
  ShowSub = sti & request("ShowSub")
  ShowSubLink = request("ShowSub")
  strPathInfo = ShowSub
 
  strPhysicalPath = Server.MapPath(strPathInfo)

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(strPhysicalPath)

  For each Folder in objFolder.SubFolders
    If Left(Folder.Name,1)<>"_" Then
      Response.Write "<a href=""" & CurFile & "?ShowSub=" & ShowSubLink & ""
      Response.Write(Replace(Folder.Name, " ", "%20"))
      response.write """>"
      Response.Write Folder.Name
      Response.Write "<br>"
    End if
  Next

  Set objFSO = Nothing
  %>
  </td>
</tr>
</table>
<hr>

<table border="0" cellpadding="0" cellspacing="5" style="border-collapse: collapse" bordercolor="#111111" width="800" id="AutoNumber1">
<%
'Response.Write ShowSub  & "<br>"
'Response.Write strPhysicalPath
'Response.End

  SiteName = request.servervariables("script_name")
  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
      Response.write "<tr><td>"
      if InStr(1,"mov", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then

        Response.Write "<a href=""trailers/dk_show.asp?fil=" & "" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      else
        Response.Write "<a href=""" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
  %>
 
  </table>


</center>
</html>


virker nu !!
Avatar billede montago Praktikant
28. maj 2003 - 01:43 #17
dog skal jeg lige have bygget mappe/fil skrukturen smartere op... således mine asp. doc's ikke ligger synligt i mov's selectionen
Avatar billede eagleeye Praktikant
28. maj 2003 - 02:24 #18
Du kan lave en if sætning omkring det som udskriver filerne som denne, som virker som et filter.

i listen  "mov,gif,jpg,jpeg,bmp"  kan du angive hivlke fil efternavne som du ønsker skal vises:


if InStr(1,"mov,gif,jpg,jpeg,bmp", LCase(objFSO.GetExtensionName(f.name))) > 0 then
Avatar billede montago Praktikant
28. maj 2003 - 02:37 #19
hmmm... kan ikke lige se hvor den skal ind henne...

efter else eller ?
Avatar billede no_doubt Nybegynder
28. maj 2003 - 15:00 #20
montago kan du ikke sende scriptet til mark.mikkelsen@mail.dk
Avatar billede eagleeye Praktikant
28. maj 2003 - 18:11 #21
Sådan her:


    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 InStr(1,"mov,gif,jpg,jpeg,bmp", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then
      Response.write "<tr><td>"
      if InStr(1,"mov", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then

        Response.Write "<a href=""trailers/dk_show.asp?fil=" & "" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      else
        Response.Write "<a href=""" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
End If
    Next
    Set objFSO = Nothing
  End if
Avatar billede montago Praktikant
28. maj 2003 - 23:47 #22
jo... jeg fant ud af det... blot på en anden måde...
Avatar billede montago Praktikant
28. maj 2003 - 23:47 #23
men mange tak for hjælpen !...
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