javascript - 使用 PHP 和 JavaScript 列出目录中的文件

标签 javascript php arrays

我正在尝试编写一个简单的脚本,其主要目的是列出服务器上目录中的所有文件并将其保存为数组。随后客户端脚本会进行一些操作,例如“提取”文件扩展名、名称等。

现在我遇到了一个小问题。也就是说,脚本确实列出了指定目录中的所有文件,但返回的数据是 JavaScript 无法读取的。

let data = <?php 
  if ($handle = opendir('./share')) {
    while (false !== ($entry = readdir($handle))) {
      if ($entry != "." && $entry != "..") {
        echo "$entry ";
      }
    }
    closedir($handle);
  }
?>;

返回的数据如下所示:

some_image.png other_text.txt meme.gif

可能每个人都知道,如果我们在任何地方使用 JavaScript,它就会崩溃...... 有什么方法可以将这段数据转换为如下所示的实际数组吗?

['some_image.png','other_text.txt','meme.gif']

最佳答案

扩展代码:将文件条目写入数组而不是 echo立即使用它们。然后json_encode该数组最后 echo它在你的<script>标签

<?php
$files = array();
if ($handle = opendir('./share')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            $files[] = $entry;
        }
    }
    closedir($handle);
}
$json = json_encode($files);
// var_dump($json);
?>
<script>
let data = <?php echo $json ?>;
</script>

关于javascript - 使用 PHP 和 JavaScript 列出目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59436702/

相关文章:

PHP array_key_exists() 和 SPL ArrayAccess 接口(interface) : not compatible?

PHP Foreach 循环效率

Java切换二维数组中的char元素

php - 哪里可以下载 php_dbase.dll?

javascript - 使用 pdfmake——在 AngularJS 中生成 pdf 工具

javascript - 组件是 HTML5 的属性还是 prototype.js 的东西?

javascript - 正则表达式:两个或多个连续的字符或字符序列

php - 在 WordPress 中使用复选框过滤输出

arrays - 如何在 PostgreSQL 中将列的数据类型从 bytea[] 更改为 bytea?

javascript - 如何使用 defaultProps 在 React redux 组件的流程中声明类型?