所以我有一个如下所示的文件系统:
Music
- 001
-- song.mp3
- 002
-- song.mp3
- 003
- 004
- 005
-- song.mp3
musicplayer.html
musicplayer.js
我很好奇是否有可能得到一个关于所有文件夹名称的列表?
这个javascript,html5,甚至是jQuery,我无法安装任何东西。
所以我有一个如下所示的文件系统:
Music
- 001
-- song.mp3
- 002
-- song.mp3
- 003
- 004
- 005
-- song.mp3
musicplayer.html
musicplayer.js
我很好奇是否有可能得到一个关于所有文件夹名称的列表?
这个javascript,html5,甚至是jQuery,我无法安装任何东西。
他的问题有一点意义 (HTML5)
我很好奇是否有可能得到关于所有文件夹的列表 名字呢?这个javascript,甚至是jQuery,我无法安装任何东西
根本没有,但不是最后的答案!
JavaScript(JS)是一种解释型计算机编程语言。它最初是作为Web浏览器的一部分实现的,因此客户端脚本可以与用户交互,控制浏览器,异步通信以及更改显示的文档内容。
有三种主要类型的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为恶意作者提供了通过Web在客户端计算机上运行脚本的潜力。浏览器作者使用两个限制包含此风险。首先,脚本运行在 砂箱 他们只能执行与网络相关的操作, 不是像创建文件这样的通用编程任务。其次,脚本受同一原始策略的约束:来自一个网站的脚本无法访问发送到另一个站点的用户名,密码或cookie等信息。大多数与JavaScript相关的安全漏洞都违反了相同的原始策略或沙箱。
通用JavaScript的子集 - ADsafe,安全ECMA脚本(SES) - 提供更高级别的安全性,尤其是在第三方创建的代码(例如广告)上。
我很好奇是否有可能得到关于所有文件夹的列表 名字呢?同 HTML5
HTML5提供FileSystem API,可以解决你的渴望,至少知道:)
在这里阅读教程: http://www.html5rocks.com/en/tutorials/file/filesystem/
另一个解决方案是使用丑陋的浏览器Api,我从来没有推荐过
最佳方案 是使用像PHP这样的服务器端语言
您是否想要获取客户端的文件系统?如果是这样,出于安全原因,Web浏览器通常会禁止此类行为。
如果您尝试在Web服务器上列出内容,则无法完成此操作 AJAX 因为JavaScript在客户端的机器上运行。您需要有一些服务器代码才能为您列出目录,但这可能会带来潜在的安全风险。
我认为最好的办法是运行服务器端代码列出目录,在客户端代码上执行此操作并不是最安全的。
如果您在客户端询问Javascript,是的,我们可以使用File API访问Mozilla Firefox,我不知道其他浏览器。
https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O
正如@Tariq所说,你肯定可以用一些服务器端代码来实现这一点,比如php。你可以通过ajax提交与root相关的目录路径(查看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
)
希望这可以帮助。