i want t get the number of files in a folder. there are many images in my folder i want to count there numbers is there any way to do that using jquery or javascript ? Thanks in advance
3 Answers
If the server is Apache and Directory Listing is allowed, and you AJAX' a directory, Apache will typically return a document with a <table> containing the files in the directory if there is no index files present. You can extract the <table> from the document and show it, or count the number of rows in the table containing file information. I would consider any row in that table having a size column with value 0 or higher as a file.
markup :
<div id="fileCount"></div>
<div id="files"></div>
ajax:
$.ajax({
url: "images/",
success: function(data) {
var parser = new DOMParser(),
doc = parser.parseFromString(data, 'text/html');
//output the file table
$("#files").append(doc.querySelector('table').outerHTML);
//or return the number of files
//tr = icon, filename, date, size, desc
//consider all rows with a size value holding a number as a vlid file
var fileCount = 0,
rows = doc.querySelector('table').querySelectorAll('tr');
for (var i=0;i<rows.length;i++) {
if (rows[i].children[3]) {
if (parseInt(rows[i].children[3].innerText)>0) fileCount++;
}
}
$("#fileCount").text(fileCount+' files');
}
});
1 Comment
.children[2]JavaScript is client side language. it not allowed to access file to server, if you are using ASP.net then use below line of code for get count of file.
IO.Directory.GetFiles("\translated\path","27_*.jpg").Count()
Node.jscan do this for your.jQueryis a client side framework.