Det virker desværre ikke. resultatet: web058.jpg, web031.jpg, web032.jpg, web033.jpg, web034.jpg, web035.jpg, web057.jpg, web039.jpg, web060.jpg, web042.jpg, web061.jpg, web045.jpg, web046.jpg. Er der andre måder man kan klare det med? eller skal jeg lægge filnavnene i en tabel?
Hvis du ikke har noget imod at skifte over i JScript på serveren for en kort bemærkning, så findes der en sort-rutine indbygget i array-objektet. Så kan du gøre således:
<%@ language="JScript" %> <% var objFS = Server.CreateObject("Scripting.FileSystemObject"); var objFolder = objFS.GetFolder(Server.MapPath("/")); var arrFiles = new Array();
var objItr = new Enumerator(objFolder.Files); for(; !objItr.atEnd(); objItr.moveNext()) { var File = objItr.item(); if(arrFiles.length == 0) arrFiles[0] = File.Name; else arrFiles[arrFiles.length] = File.Name; Response.Write(File.Name + ".<br>"); }
Der er godt nok forskel på store og små bogstaver, men hvis det ikke betyder noget, så kan man konvertere alle filnavne til lowercase inden de lægges ind i array'et...
Hvis data skal sorteres i den modsatte retning kan man efter sortering kalde reverse() på array-objektet. Hvis man er rigtig controlfreak, så kan man lave sin egen funktion til at beslutte hvordan data skal sorteres. Denne funktion skal så bare sendes med til sort-kaldet...
<%@ language="JScript" %> <% var objFS = Server.CreateObject("Scripting.FileSystemObject"); var objFolder = objFS.GetFolder(Server.MapPath("/")); var arrFiles = new Array();
var objItr = new Enumerator(objFolder.Files); for(; !objItr.atEnd(); objItr.moveNext()) { var File = objItr.item(); arrFiles[arrFiles.length] = File.Name.toLowerCase(); }
Hvis din server tillader parent paths så kan du benytte flg. kode:
<%@ language="JScript" %> <% var objFS = Server.CreateObject("Scripting.FileSystemObject"); var objFolder = objFS.GetFolder(Server.MapPath("/../ImageDir")); var arrFiles = new Array();
var objItr = new Enumerator(objFolder.Files); for(; !objItr.atEnd(); objItr.moveNext()) { var File = objItr.item(); arrFiles[arrFiles.length] = File.Name.toLowerCase(); }
ImageDir = "/ImageDir/" var objFolder = objFS.GetFolder(Server.MapPath(ImageDir));
Med denne lille ændring kom det til at virke. Tak for hjælpen softspot, smider du et svar? Nu skal jeg bare have alt det andet til at virke Kan ikke man skifte programerings sprog nede midt i en side?
Det er bare en resursemæssig dyr måde at køre webserver på, da webserveren så skal have begge fortolkere op i hukommelsen på een gang, men hvis det bruges med omtankte kan det nok gå i snæver vending... :)
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.