28. juni 2004 - 17:03Der er
9 kommentarer og 1 løsning
Kode der kan fortælle om, hvilke filer der er i en mappe
Hej, jeg skal bruge et stump kode som kan fortælle mig hvor mange filer der er i en mappe, og liste filnavnene på en eller anden måde. evt. skrive filnavne over i en database.
nogen der har noget som minder lidt om det jeg snakker om, så skrive hvor og hvordan jeg for fat på det.
dim count_image, image, Image_Array Set directory=server.createobject("scripting.filesystemobject") Set allfiles=directory.getfolder(server.mappath(image_directory))
For each image in allfiles.files Image_Array = Image_Array + image.Name & ","
count_image = count_image +1 Next
dim Current_Page, Total_Pages, Total_Images, Page_Name
Current_Page = request.querystring("page") If Current_Page = "" or Current_Page = "0" then Current_Page = "1" end if
Total_Pages = (Total_Images/Images_pr_Page)
if Total_Pages > int(Total_Pages) then Total_Pages = int(Total_Pages) + 1 end if
Image_Array = split(Image_Array,",")
dim First_Image, Last_Image First_Image = ((Current_Page-1)*(Images_pr_Page))+1 If First_Image = "0" then First_Image = "1" end if Last_Image = (Total_Images-First_Image)
if cint(Last_Image) > cint(Images_pr_Page) then Last_Image = round(First_Image-1) + round(Images_pr_Page) else Last_Image = (First_Image + Last_Image) End if
For I = 1 to Total_Pages If NOT Cint(Current_Page) = Cint(I) then response.write " <a href="""& Page_Name &"?page="& I &""">" &_ I &_ "</a> " else response.write " ["& I &"] " end if Next
<% dim image_directory, image_height, image_width, Images_pr_Page, Images_Horizontal image_directory = "gallery" image_height = "41" image_width = "41" Images_pr_Page = "12" Images_Horizontal = "4" '*** Definere de forskellige variable...
dim count_image, image, Image_Array Set directory=server.createobject("scripting.filesystemobject") Set allfiles=directory.getfolder(server.mappath(image_directory)) '*** Definere objekter
For each image in allfiles.files Image_Array = Image_Array + image.Name & ","
count_image = count_image +1 Next '*** Tæller antallet af filer, samt ligger alle deres navne ind i en kommasepereret streng..
dim Current_Page, Total_Pages, Total_Images, Page_Name
Page_Name = request.servervariables("script_name") Total_Images = count_image '*** Sætter forskellige variable.. Page_name er navnet på siden, Total_Images er antallet af billeder
Current_Page = request.querystring("page") If Current_Page = "" or Current_Page = "0" then Current_Page = "1" end if '*** Sikre at hvis Current_Page der er den valgte side ikke eksistere, så sættes den til side 1..
Total_Pages = (Total_Images/Images_pr_Page) '*** Beregner antallet af sider
if Total_Pages > int(Total_Pages) then Total_Pages = int(Total_Pages) + 1 end if '*** Sikre at der er plads til alle billederne
Image_Array = split(Image_Array,",") '*** Splitter strengen til et array.
dim First_Image, Last_Image First_Image = ((Current_Page-1)*(Images_pr_Page))+1 If First_Image = "0" then First_Image = "1" end if Last_Image = (Total_Images-First_Image) '*** Finder første og sidste billedenr. i arrayet ud fra den valgte side, samt antallet af billeder pr. side
if cint(Last_Image) > cint(Images_pr_Page) then Last_Image = round(First_Image-1) + round(Images_pr_Page) else Last_Image = (First_Image + Last_Image) End if '*** Sikre at sidste billede findes...
dim Count_Image_Prints, td_width Count_Image_Prints = 0
td_width = int(100 / Images_Horizontal) '*** Opskriver tabellen. dim I For I = (First_Image-1) to (Last_Image-1) Count_Image_Prints = Count_Image_Prints + 1
If int(Count_Image_Prints) = int("1") then response.write "<tr>" & vbCrLf end if
If int(Count_Image_Prints) = int(Images_Horizontal) then response.write "</tr>" & vbCrLf Count_Image_Prints = 0 end if Next '*** For-løkke der skriver billederne ud på siden..
For I = 1 to Total_Pages If NOT Cint(Current_Page) = Cint(I) then response.write " <a href="""& Page_Name &"?page="& I &""">" &_ I &_ "</a> " else response.write " ["& I &"] " end if Next '*** For-løkke der skriver antallet af sider, samt markere den aktuelle side..
Ja det ser fin ud. men hvad er det betyder når man gør int(til et eller andet) Page_Name = request.servervariables("script_name") ???? Set directory=server.createobject("scripting.filesystemobject") ??? Set allfiles=directory.getfolder(server.mappath(image_directory)) ??? og så lige de tre ovenstående linjer, hvad betyder de-
int(til et eller andet) gør at du konvertere en variabel til integer... altså et tal uden decimaler..
Page_Name = request.servervariables("script_name") Finder navnet på den side du arbejder på...
Set directory=server.createobject("scripting.filesystemobject") Definere det objekt der benyttes til at finde de forskellige filer..
Set allfiles=directory.getfolder(server.mappath(image_directory)) benytter det før definerede objekt til at vælge en specifik mappe. Denne mappe er defineret i den tidligere variabel image_directory.
som det er nu vil den tage billederne fra mappen gallery...
Hvis du fx. har en struktur der hedder..
mappe - asp - billeder
og du vil hente billederne fra mappen billeder fra mappen asp, så skal du rette denne linie: image_directory = "gallery" til: image_directory = "../billeder"
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.