需要帮助将 2k 文件链接到 html [关闭]

Posted

技术标签:

【中文标题】需要帮助将 2k 文件链接到 html [关闭]【英文标题】:Need help linking 2k files into html [closed] 【发布时间】:2015-01-20 07:03:06 【问题描述】:

所以我正在做一个需要大量文件链接的项目(2000)

以下是我的项目的一些细节:

    无法直接访问“后端” 有权更改课程资料(pdf 文件)的目录结构和文件名 当前的路径和文件命名约定是一团糟(不存在)且不可预测 目前没有将课程代码与课程描述/课程材料相关联

    每门课程都有 20 个课程资料(pdf 文件):

    5 份学习纸 5 个学习纸答案 5 个评分作业 5年级作业答案

现在当前站点是http://ops.emsofl.com/Index_stu.html,我正在重新创建它,并且需要添加文件和链接。当前目录树非常不稳定,并且不遵循任何一致的命名约定。我的希望是能够尽可能地自动化这个过程。我知道我需要更改目录树和文件名以遵循简单的格式,但是,我不确定如何在此之后继续解析文件并通过 json 或其他格式自动添加它们。这真的是我需要帮助的。这是到目前为止使用 zurb 基础的课程布局的一些示例代码:

<div class="tabs-content">
    <div class="content active" id="p1a">
          <ul class="ss">
          <li><a href="#">Study Sheet Unit One</a></li>
          <li><a href="#">Study Sheet Unit Two</a></li>
          <li><a href="#">Study Sheet Unit Three</a></li>
          <li><a href="#">Study Sheet Unit Four</a></li>
          <li><a href="#">Study Sheet Unit Five</a></li>

          </ul>
    </div>
    <div class="content" id="p1b">
      <ul class="ssa">
          <li><a href="#">Study Sheet w/ Answers Unit One</a></li>
          <li><a href="#">Study Sheet w/ Answers Unit Two</a></li>
          <li><a href="#">Study Sheet w/ Answers Unit Three</a></li>
          <li><a href="#">Study Sheet w/ Answers Unit Four</a></li>
          <li><a href="#">Study Sheet w/ Answers Unit Five</a></li>

          </ul>
    </div>
    <div class="content" id="p1c">
      <ul class="ga">
          <li><a href="#">Graded Assignment Unit One</a></li>
          <li><a href="#">Graded Assignment Unit Two</a></li>
          <li><a href="#">Graded Assignment Unit Three</a></li>
          <li><a href="#">Graded Assignment Unit Four</a></li>
          <li><a href="#">Graded Assignment Unit Five</a></li>

     </ul>
    </div>
    <div class="content" id="p1d">
      <ul class="gaa">
          <li><a href="#">Graded Assignment w/ Answers Unit One</a></li>
          <li><a href="#">Graded Assignment w/ Answers Unit Two</a></li>
          <li><a href="#">Graded Assignment w/ Answers Unit Three</a></li>
          <li><a href="#">Graded Assignment w/ Answers Unit Four</a></li>
          <li><a href="#">Graded Assignment w/ Answers Unit Five</a></li>

          </ul>

【问题讨论】:

这都是理论上的。我们需要具体的代码来观察。 当您可以使用 php 通过读取目录来创建链接时,您必须手动链接 1000 个文件是没有意义的 好的,我该怎么做? 你们不能指点我正确的方向并提供帮助,而不是投票给堆栈溢出地狱吗? html如何获得'Study Sheet Unit One'等..?您是否尝试用实际网址替换链接中的#?人们可能会投反对票,因为您的问题确实不清楚,并且闻起来像 XY 问题。那么,你真正想要做什么,你从哪里得到what?此外,我已经看到你的演示在 PHP 上运行,所以很可能你应该按照 charlietfl 的评论指出的那样使用它。 【参考方案1】:

鉴于您在聊天中解释的具体情况,

您无权访问“后端” 您有权更改课程资料(pdf 文件)的目录结构和文件名 当前的路径和文件命名约定是一团糟(不存在)且不可预测 目前没有将课程代码与课程描述/课程材料相关联 每门课程有 20 种课程资料(pdf 文件): 5 份学习纸 5 个学习纸答案 5 个评分作业 5 年级作业答案

唉,有些事情必须去做(尤其是为了将来的懒惰可维护性)。 在事情进一步失控之前,我建议从实现文件路径/文件命名约定开始。这也应该有助于创建未来的其他解决方案,然后是我建议开始的解决方案。

主要问题(和当前缺陷)是缺乏任何可自动化的关系/可预测性!

首先重组你的文件路径/文件名: 让我们创建一个文件夹作为课程资料的根目录:courses/

我们在课程内创建您的主要类别:

课程/数学/ 课程/英语/ 课程/科学/ 课程/社会科学/ 课程/选修课/

现在对于每个课程类别(例如:课程/数学/、课程/英语等),您创建文件夹(或复制现有文件夹)并将它们(重新)命名为课程编号:

课程/数学/HS-ES-103/ 课程/数学/HS-ES-104/ 等等... 课程/英语/HS-ES-113/ 课程/英语/HS-ES-114/ 等等...

现在,在每门课程(例如课程/数学/HS-ES-103、课程/英语/HS-ES-113)中,您创建(或分别重命名)4 个文件夹:

课程/类别/课程编号/ssu/ 课程/类别/课程编号/ssa/ 课程/类别/课程编号/gau/ 课程/类别/课程编号/GAA/

包含课程材料(pdf 文件)。 这些应包含课程各自的 pdf 文件。 此外,在每门课程(在 4 个文件夹旁边)中,您都会创建一个包含课程元数据的文件:

课程名称(如:'ENGLISH 9 Common Core Semester 2') 年级 课程资料 课程说明

这可能是 xml、json、csv、txt... 任何你发现最容易从 php 解析的内容。注意: 作为一些简单的描述,还有一个额外的好处(最好是高度可读的)文件夹结构中的未来永远不会受到伤害......

现在,手动创建课程/类别会比创建脚本更快。 大部分工作将是创建(和移动相关课程文件)或重命名课程代码文件夹并添加元数据信息文件。

最后,文件名必须按字母顺序以正确的顺序排序。unpredictable_string_1.pdf 很好。 two_unpredictable_string.pdf 不是。

如果存在具有unpredictable_string_[one|two|three|four|five].pdf 的文件夹,您可以使用命令行脚本将它们清除,该脚本将在文件名unpredictable_string_[1|2|3|4|5].pdf

从这里开始,很容易选择以下两种方式之一:

将(排序的)文件名重命名为可预测的字符串(因此您无需将它们传递给您的 html/json/php 等(您可以再次使用简单的命令行脚本来执行此操作)。李> 不要重命名不可预测的文件名,并让您的目录解析脚本读出实际的文件名(我不推荐这样做)。

示例最终结构:

> 目录课程/数学/HS-ES-103/ 课程/数学/HS-ES-103/ssu/ 课程/数学/HS-ES-103/ssa/ 课程/数学/HS-ES-103/gau/ 课程/数学/HS-ES-103/gaa/ 课程/数学/HS-ES-103/info.txt(json/csv/xml等) > 目录课程/数学/HS-ES-103/ssu 课程/数学/HS-ES-103/ssu/HS-ES-103_ssu_1.pdf 课程/数学/HS-ES-103/ssu/HS-ES-103_ssu_2.pdf 课程/数学/HS-ES-103/ssu/HS-ES-103_ssu_3.pdf 课程/数学/HS-ES-103/ssu/HS-ES-103_ssu_4.pdf 课程/数学/HS-ES-103/ssu/HS-ES-103_ssu_5.pdf

现在您已经修复了目录结构,使用例如 PHP 解析任何信息和关系是一件相对轻而易举的事。

现在您可以使用 PHP 从模板动态构建静态页面,或者让它创建一个(或每个类别一个)json 文件(或 xml、csv 等)以传递给浏览器。

重要的是要注意,在每个页面请求上解析整个目录树并不是一个想法。 最好有一个隐藏的管理页面,其中包含更新后自动更新存储缓存的功能。或者,您可以每 24 小时自动更新一次(使用通用模板循环检查缓存页面/文件的时间戳,如果超过 x 时间,则重新运行更新程序脚本)。

在 SO 中搜索解析目录、文件(csv/json 等)和缓存页面的示例。

祝你的项目好运!

【讨论】:

以上是关于需要帮助将 2k 文件链接到 html [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将一个文件中的不同文本行插入到一组文件中的特定行的最佳方法[关闭]

如何在 HTML 中包含 SCSS 文件 [关闭]

如何将 HTML 转换为 XHTML? [关闭]

ed2k链接文件,最快下载方式

ed2k链接文件,最快下载方式

如何将文本从CSV复制到剪贴板? [关闭]