Подтвердить что ты не робот

Получить список всех папок в каталоге

Поэтому у меня есть файловая система, которая выглядит так:

Music
- 001
-- song.mp3
- 002
-- song.mp3
- 003
- 004
- 005
-- song.mp3
musicplayer.html
musicplayer.js

Мне было любопытно, можно ли получить список всех имен папок?

Этот javascript, html5 или даже jQuery, я ничего не могу установить.

4b9b3361

Ответ 1

у него есть точка в его вопросе (HTML5)


Мне было любопытно, можно ли получить список обо всех папках имена? Этот javascript, или даже jQuery, я ничего не могу установить

Просто Нет, но не последний ответ!

JavaScript (JS) - интерпретируемый язык компьютерного программирования. Он был первоначально реализован как часть веб-браузеров, чтобы клиентские скрипты могли взаимодействовать с пользователем, управлять браузером, асинхронно сообщать и изменять отображаемый контент документа.

Существует 3 основных типа JavaScript:

Client-Side JavaScript (CSJS) -- an extended version of JavaScript that enables the enhancement and manipulation of web pages and client browsers

Server-Side JavaScript (SSJS) -- an extended version of JavaScript that enables back-end access to databases, file systems, and servers

Core JavaScript -- the base JavaScript language

Клиентский JavaScript (CSJS) и серверный JavaScript (SSJS) зависят от основного JavaScript и не могут работать без него.

JavaScript и DOM предоставляют злоумышленникам возможность запускать скрипты на клиентском компьютере через Интернет. Авторы браузера содержат этот риск, используя два ограничения. Во-первых, скрипты выполняются в песочнице, в которой они могут выполнять только действия, связанные с веб-сайтом, не задачи общего назначения, такие как создание файлов. Во-вторых, сценарии ограничены одной и той же политикой происхождения: скрипты с одного веб-сайта не имеют доступа к такой информации, как имена пользователей, пароли или файлы cookie, отправленные на другой сайт. Большинство ошибок безопасности, связанных с JavaScript, являются нарушениями одной и той же политики происхождения или изолированной программы.

Существуют подмножества общего JavaScript - ADsafe, Secure ECMA Script (SES) - которые обеспечивают более высокий уровень безопасности, особенно для кода, созданного третьими лицами (например, рекламы).

Мне было любопытно, можно ли получить список обо всех папках имена? с HTML5

HTML5 предоставляет API FileSystem, который может решить вашу жажду, по крайней мере, для знания:)
Прочтите учебник здесь: http://www.html5rocks.com/en/tutorials/file/filesystem/


Еще одно решение - использовать уродливый браузер Api, который я никогда не рекомендую
Лучшее решение - использовать язык на стороне сервера, например php

Ответ 2

Вы пытаетесь получить файловую систему клиента? Если это так, веб-браузеры обычно запрещают этот тип поведения по соображениям безопасности.

Если вы пытаетесь перечислить все на своем веб-сервере, это невозможно сделать без AJAX, поскольку JavaScript работает на клиент машина. Вам нужно будет иметь код сервера, чтобы перечислить каталог для вас, но это может представлять потенциальную угрозу безопасности.

Я думаю, ваш лучший выбор - запустить код на стороне сервера, чтобы перечислить каталог, это не самая безопасная вещь для этого на клиентском коде.

Ответ 4

Вы могли бы это сделать, как сказал @Tariq, с некоторым кодом сервера, например php. вы можете отправить пути каталога по отношению к корню через ajax (проверьте jquery $.post() @http://api.jquery.com/jQuery.post/).

<?php
  if (isset($_POST['submit'])) {
  //capture post varibles, sanitizing of course.
  $dir = "";
  $dir = $_POST['input'];

    $dh  = opendir($dir);
    while (false !== ($filename = readdir($dh))) {
      $files[] = $filename;
    }
//now, do stuf with files

    sort($files);
    print_r($files);
  }

?>

Здесь вывод:

Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)

Надеюсь, это поможет.