如何在 php 中创建存档列表?

Posted

技术标签:

【中文标题】如何在 php 中创建存档列表?【英文标题】:How to create an archive list in php? 【发布时间】:2012-02-15 16:00:46 【问题描述】:

我正在创建我的公司博客,并且想知道如何创建一个存档页面,读者可以在其中单击月/年并显示该时间段的所有博客文章。

这些天我经常在博客上看到这个,我想知道我自己如何创建它。

它看起来像这样:

2012 年 7 月 2012 年 6 月 2012 年 3 月

显然我希望通过引用我的博客表中的时间字段来动态创建列表,但是从哪里开始呢?

是否有任何文档说明如何实现这一点?

我正在从头开始创建自己的博客。

【问题讨论】:

您是在使用 WordPress 等博客软件,还是在创建自己的博客软件? 从头开始创建博客 【参考方案1】:

如果您使用的是数据库,您可以简单地使用时间戳来根据日期对文章进行分组。

如果您不使用数据库,则可以使用文件系统,并将每篇文章放在相关的结构中:

/articles/2011/July/article_name_here.html

【讨论】:

【参考方案2】:

鉴于您没有提到具体的框架/CMS,我将介绍我将采取的总体思路:

获取要渲染的月份列表

SELECT Month(`date`), Year(`date`) FROM articles GROUP BY Month(`date`), Year(`date`)

呈现给定时间跨度的文章列表

SELECT * FROM articles WHERE Date(`date`) = foo, Year(`date`) = bar

剩下的只是渲染自己,太多基于你当前的实现,但这应该给你一个开始的方法。

【讨论】:

【参考方案3】:

有一些方法可以解决这个问题。我能想到的最简单的方法是您为每个月创建一个链接,将您带到一个包含该月所有帖子的 html 页面。(它需要手动完成每个月)。

另一种方法是使用 mysql 并让所有过程动态和自动化。 每次提交您的帖子时,每个月都会将参考链接保存到数据库中。

然后,您可以从数据库中回显月份,并为它们提供指向 php 文件的链接或您的语言,以便仅回显该月的帖子。您还需要传递变量。 你的链接会是这样的

index.php?month=september2012

我在网站上有这个系统。 还有一些方法 .. 像 CMS 样式将您保存到文本文件中.. 但我没有尝试过,因此我无法支持您。

我希望 a 至少能让您了解如何做到这一点。

【讨论】:

这里有一些让你约会搜索的好方法***.com/questions/271595/…

以上是关于如何在 php 中创建存档列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Perl 中创建 Zip 存档?

如何在 Terraform 中创建存档文件?

如何在 Java 中创建未压缩的 Zip 存档

如何使用 Java(apache 压缩)在 Windows 中创建“有效”的 unix TAR 存档?

如何在不包含父目录的 Python/tar 中创建 tar.gz 存档?

如何在 IntelliJ IDEA 中创建 .jar 文件或导出 JAR(如 Eclipse Java 存档导出)? [复制]