6

I know how to do this in server side languages but I was wondering if there is an easy way (as in no active X). Google searches only give me ways for javascript to list files from the user's computer.

How can I use javascript to list all files on the server. That is, if I have a folder /gallary and there can be many sub-directors in there, /gallary/sports, /gallary/california, /gallary/christmas. Each sub-directory contains n image.

How can I get javascript to list all sub-directories as well as all the images.

6
  • 3
    You can't. JavaScript is running on a different computer, and certainly doesn't have access to the file system of the server. Commented Jan 29, 2012 at 23:57
  • I do not think that due to server security you are able to do that. Javascript is client side and is executed client side. Commented Jan 29, 2012 at 23:58
  • 2
    You could do it with the javascript only if the server generates index page with the list of the files in the directory. Otherwise you need server-side script to generate such list to give it back to javascript by request. Commented Jan 30, 2012 at 0:13
  • 1
    @Cheery Currently that is what my server does. How can you go about doing it this way? Commented Jan 30, 2012 at 0:34
  • 2
    @JoshWeissbock Make ajax request to the folder, server will output the listing, which will be returned as a string to javascript. Than you have to parse it and output any way you want. Commented Jan 30, 2012 at 0:41

1 Answer 1

2

As JavaScript in the browser cannot access the server's file system directly you are probably going to need some server side scripting such as PHP, Perl, ASP etc to send the file system contents to a web page (perhaps via Ajax) and then have JavaScript format the file system contents into the desired format, say using a file tree control mention in this comment: Javascript to list all files in directory on the webserver

If you can't use any server side scripting then perhaps you could hardcode the categories in the JavaScript file (assuming the categories change not very often), and number the images sequentially? Then your JavaScript can just go looking for images by trying to load an image category folder and number. Then detect when an image doesn't load via onerror and stop display previous/next buttons.

An even more left field solution which doesn't require server side scripting could be to create a script, say with Perl, on your workstation machine which connects over FTP, looks through all the folders and files and creates a JSON or XML file containing the contents of the file system. Then your JavaScript can call that generated file and get access to the file system. The drawback being that you need to rerun your workstation script each time you want to add another file.

Sign up to request clarification or add additional context in comments.

1 Comment

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.