【问题标题】:Getting subfolder names with javascript使用 javascript 获取子文件夹名称
【发布时间】:2012-08-21 15:35:23
【问题描述】:

我已经四处寻找了很长一段时间,但似乎找不到从特定目录获取子文件夹列表的方法。

一个例子是,如果我在 www.mysite.com/projects 并且在项目内部有几个包含单个项目文件的文件夹。

我想这样做的原因是我要编写一个脚本,使用子文件夹名称将新项目的名称添加到菜单中。

我错过了什么吗?这甚至可以用 JQuery 或 JavaScript 实现吗?

我已经获取了路径名和位置,还查看了 ActiveXObjects,但无法在我的 PC 或服务器上运行任何东西。

任何帮助将不胜感激。

【问题讨论】:

  • 在客户端上不可能。使用服务器进程
  • 该目录在哪里,在客户端 PC 上还是在服务器上?

标签: javascript jquery tree subdirectory


【解决方案1】:

在 HTTP 中没有目录之类的东西。只有资源。

其中一些资源可能是一个 HTML 文档,其中列出了一些其他资源(位于运行 HTTP 服务器的计算机上文件系统的特定目录中)。大多数 HTTP 服务器会generate such documents for you automatically

您需要让您的服务器为合适的请求生成合适的响应。然后使用(因为您提到了 jQuery)ajax() 方法发出该请求。

然后你需要解析响应。您可以使用默认目录索引页面然后解析返回的 HTML,也可以编写服务器端程序以更好的格式(例如 JSON)生成数据。

也就是说……

我想这样做的原因是我要编写一个脚本,该脚本将使用子文件夹名称将新项目的名称添加到菜单中。

几乎可以肯定,在服务器上这样做会更好。您将获得更可靠、更快且搜索引擎友好的结果。

【讨论】:

    【解决方案2】:

    ActiveX 是一种使 JScript(JavaScript 的 Microsoft 实现)能够更多地访问客户端计算机的技术,它仅适用于 Internet Explorer。

    服务器上的文件夹与文件系统中的文件夹不同。任何文件夹/子文件夹都有可能包含一个 index.html,它输出一些文本(不一定是它包含的子文件夹列表)。

    此外,大多数网络服务器配置都有一个活动选项,即使没有 index.html,也不显示子文件夹列表。

    您可以在该文件夹中放置一个 index.php 文件,代码如下:

    <?php
        $directories = scandir('.');
        header('Content-Type: application/json');
        echo json_encode($directories);
    

    您可以这样接收此内容:

    $.getJSON('http://domain.com/path/to/folder/', function(directories) {
        do_something(directories);//
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-01
      • 2010-09-18
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多