使用 Javascript 获取特定目录中的所有文件名
Getting all the file names in a specific directory using Javascript
javascript 的纯新手:)
我需要的是一个 函数 来获取目录中的所有文件名(我们称之为结果),它与我的 html 文件位于同一位置.
该函数可以 return 包含文件名的数组,或者结果可以存储在全局变量中。
此致!
编辑 谢谢大家的回答和信息。我真的不知道我必须使用客户端语言:)
您尝试做的是使用 JavaScript 访问目录。可能您以前用服务器端语言这样做过(Java、Python 等)。
但这在 Java脚本中是不可能的,或者更确切地说 Java脚本不允许这样做。
原因很简单。 Java 脚本在您的浏览器上运行,想象一下如果我可以编写一个代码在您的浏览器上运行并访问您的目录。我真的可以阅读你电脑上的所有内容。
太荒谬了。不是吗?所以根本不可能。
更新:在写上面的答案时,我没有考虑服务器端 javascript 使用 Node.js 并且只关注浏览器上的 javascript。如果您在服务器端使用 javascript 那么是的,Node 的 FileReader 模块应该允许您这样做。
虽然这是一个已有 2 年历史的答案,但仍然感谢@SQB 指出这一点。
我看到一个节点答案;这是您可以在 PHP;
中执行的操作
创建一个名为 'files.php' 的新文件并将以下代码放入其中:
<?php
// Specify the directory to scan for files
$dir = '/';
// Store the scandir results in a variable
$files = scandir($dir);
// Encode the array in JSON and echo it
echo json_encode($files);
?>
保存并上传到你想要return文件的目录,确保你指定了文件路径(你可以用需要的路径修改$dir);
现在您可以使用 JQuery 来创建一个 GET 请求到我们创建的 files.php 文件并将数据 return 返回给客户端,
<script>
$.get( "files.php", function( data ) {
console.log(data);
});
</script>
您将在控制台中看到 returned JSON 包含来自 scandir 结果的所有文件名;您现在可以使用这些来推送您的 UI,等等
javascript 的纯新手:)
我需要的是一个 函数 来获取目录中的所有文件名(我们称之为结果),它与我的 html 文件位于同一位置.
该函数可以 return 包含文件名的数组,或者结果可以存储在全局变量中。
此致!
编辑 谢谢大家的回答和信息。我真的不知道我必须使用客户端语言:)
您尝试做的是使用 JavaScript 访问目录。可能您以前用服务器端语言这样做过(Java、Python 等)。
但这在 Java脚本中是不可能的,或者更确切地说 Java脚本不允许这样做。
原因很简单。 Java 脚本在您的浏览器上运行,想象一下如果我可以编写一个代码在您的浏览器上运行并访问您的目录。我真的可以阅读你电脑上的所有内容。
太荒谬了。不是吗?所以根本不可能。
更新:在写上面的答案时,我没有考虑服务器端 javascript 使用 Node.js 并且只关注浏览器上的 javascript。如果您在服务器端使用 javascript 那么是的,Node 的 FileReader 模块应该允许您这样做。
虽然这是一个已有 2 年历史的答案,但仍然感谢@SQB 指出这一点。
我看到一个节点答案;这是您可以在 PHP;
中执行的操作创建一个名为 'files.php' 的新文件并将以下代码放入其中:
<?php
// Specify the directory to scan for files
$dir = '/';
// Store the scandir results in a variable
$files = scandir($dir);
// Encode the array in JSON and echo it
echo json_encode($files);
?>
保存并上传到你想要return文件的目录,确保你指定了文件路径(你可以用需要的路径修改$dir);
现在您可以使用 JQuery 来创建一个 GET 请求到我们创建的 files.php 文件并将数据 return 返回给客户端,
<script>
$.get( "files.php", function( data ) {
console.log(data);
});
</script>
您将在控制台中看到 returned JSON 包含来自 scandir 结果的所有文件名;您现在可以使用这些来推送您的 UI,等等