26. juni 2006 - 14:59Der er
10 kommentarer og 1 løsning
directoryfile / tilføjelse af if else sætning
Hej!
Jeg har et lille stykke kode, der aflæser indholdet i en mappe på min server. Nu vil jeg gerne have lavet det således, at hvis mappen er tom, skrives der "Mappen er tom."
Det er noget i stil med if "der er filer i mappen" then "min kode" else "response.write Mappen er tom." Jeg kan bare ikke lige få det smeltet sammen.
Kan du hjælpe?
--- start kode ---
<%
Set directory=server.createobject("scripting.filesystemobject") Set allfiles=directory.getfolder(server.mappath("Advertisements/")) ' Liste alle filer i mappe For each directoryfile in allFiles.files %> <a href="Advertisements/<% =directoryfile.Name %>" target="_blank"> <% ext=right(directoryfile.Name,3) select case ext case "pdf","mdb","xls","ppt","doc","txt" %> <img src="../images/directory/<%= ext %>.jpg" border="0"> <% case else %> <img src="../images/directory/unk.jpg" border="0"> <% end select %> <% =directoryfile.Name %></a> - File created: <%=directoryfile.DateCreated %> <br> <% Next %>
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
26. juni 2006 - 15:42#1
prøv denne her: <% set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFolder(server.mappath("Advertisements/")) for each file in f.files filename = file.name filenames=filenames & ";" next set f=nothing set fs=nothing if filenames<>"" then strfilesnames = split(filenames,";") for a=0 to ubound(strfilenames) Cfilename = strfilenames(a) ext = right(lcase(Cfilename),3) %> <a href="Advertisements/<%=Cfilename%>" target="_blank"> <% if (ext="pdf" OR ext="mdb" OR ext="xls" OR ext="ppt" OR ext="doc" OR ext="txt") then %> <img src="../images/directory/<%= ext %>.jpg" border="0"> <% else %> <img src="../images/directory/unk.jpg" border="0"> <% end if %> <%=Cfilename%></a> <% next else response.write "mappen er tom" end if %>
fandt fejlen her strfilesnames men resultatet af den rettede side bliver en side med et par ikoner og en bindestreg!
Synes godt om
Slettet bruger
26. juni 2006 - 16:17#4
hehe... det beklager jeg... det var en slåfejl fra min side... prøv denne her: <% set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFolder(server.mappath("Advertisements/")) for each file in f.files filename = file.name filenames=filenames & ";" next set f=nothing set fs=nothing if filenames<>"" then strfilenames = split(filenames,";") for a=0 to ubound(strfilenames) Cfilename = strfilenames(a) ext = right(lcase(Cfilename),3) %> <a href="Advertisements/<%=Cfilename%>" target="_blank"> <% if (ext="pdf" OR ext="mdb" OR ext="xls" OR ext="ppt" OR ext="doc" OR ext="txt") then %> <img src="../images/directory/<%= ext %>.jpg" border="0"> <% else %> <img src="../images/directory/unk.jpg" border="0"> <% end if %> <%=Cfilename%></a> <% next else response.write "mappen er tom" end if %>
Jeg rettede selv fejlen og testede dit forslag. Men det fungerer ikke. Siden viser en linie med først et ikon, en bindestreg og igen et ikon. Intet andet. Når man så klikker på et af ikonerne, åbnes en ny side med "Directory Listing Denied". I mappen ligger der et Word-dok.
Dan, jeg skylder lige at sige, at når mappen er tom, skriver den ganske vist "mappen er tom", men din kode lister ikke filerne sådan som jeg gerne vil, når der er indhold i mappen.
Synes godt om
Slettet bruger
27. juni 2006 - 14:27#7
hmm... OK! Det lyder nu lidt underligt i mine ører... Men hvad så med denne her: <%
Set directory=server.createobject("scripting.filesystemobject") Set allfiles=directory.getfolder(server.mappath("Advertisements/")) ' Liste alle filer i mappe if (allFiles.files)<>"" then For each directoryfile in allFiles.files %> <a href="Advertisements/<% =directoryfile.Name %>" target="_blank"> <% ext=right(directoryfile.Name,3) select case ext case "pdf","mdb","xls","ppt","doc","txt" %> <img src="../images/directory/<%= ext %>.jpg" border="0"> <% case else %> <img src="../images/directory/unk.jpg" border="0"> <% end select %> <% =directoryfile.Name %></a> - File created: <%=directoryfile.DateCreated %> <br> <% Next else response.write "Mappen er tom" end if %>
Wrong number of arguments or invalid property assignment
/competition/Lavatec/show_Advertisements_ORG.asp, line 42
Linie 42 er denne: if (allFiles.files)<>"" then
Synes godt om
Slettet bruger
27. juni 2006 - 17:43#9
- hehe hvad så med denne her: <%
Set directory=server.createobject("scripting.filesystemobject") Set allfiles=directory.getfolder(server.mappath("Advertisements/")) ' Liste alle filer i mappe size = allFiles.size if size<>0 then For each directoryfile in allFiles.files %> <a href="Advertisements/<% =directoryfile.Name %>" target="_blank"> <% ext=right(directoryfile.Name,3) select case ext case "pdf","mdb","xls","ppt","doc","txt" %> <img src="../images/directory/<%= ext %>.jpg" border="0"> <% case else %> <img src="../images/directory/unk.jpg" border="0"> <% end select %> <% =directoryfile.Name %></a> - File created: <%=directoryfile.DateCreated %> <br> <% Next else response.write "mappen er tom" end if %>
- her tjekkes det bare hvor meget mappen fylder i bytes - og hvis den fylder 0 bytes er mappen tom og det er så det vi skriver i så fald...
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.