0

我是 PHP 的初学者,我正在尝试制作一个脚本,该脚本在我可以包含在我的索引页面侧面部分的文件中显示上次更新的日期,并在其下方加上其他页面的列表我已经更新(按更新顺序)。举个例子,如果我最后一次更新是星期二,我只编辑了我的新闻和索引页面,它会说

2013 年 8 月 6 日 - 主页更新。- 新闻头条已更新。

然后在它下面会显示其他最新更新.. 像这样:

2013 年 8 月 6 日 - 主页更新。- 新闻头条已更新。

2013 年 8 月 5 日 - 员工更新。

2013 年 8 月 2 日 - 主页更新。- 论坛更新。- 加入页面更新。

我还希望能够设置可以显示多少更新的限制。我有一个朋友几年前就有这个脚本,我记得他是通过一个 .txt 文件和 CHMOD txt 文件来完成的,以获得写入权限. 然后他们是updates.php,在我想生成更新状态的每个页面上,我都会在文件顶部包含几行脚本。另外,我会列出页面名称以及我希望它显示的内容txt 文件或更新文件,如 index.php > 主页已更新...但是我与他失去了联系,他们无法找到它。我试了一下,得到了:

  <?php

  $pages = array(
  'Main Page' => 'index3.php',
  'Staff' => 'staff.php',
  'News Headlines' => 'news.php',
  );
$list = array();

 foreach($pages as $page => $file) {
  $date = filemtime($file);    
 if(!isset($list[$date])) { $list[$date] = array(); }
  array_push($list[$date], $page);
  }
 krsort($list);

 foreach($list as $date => $pages) {
  echo date('F j, Y', $date) . "<br />\n";
   foreach($pages as $page) {
    echo "- $page Updated<br />\n";
    }
      }
   ?>

但这不能正常工作,因为即使我在同一天更新两个文件,它也会开始一个新的日期......无论如何,我只是想知道是否有人知道如何制作这个脚本?我迫切需要得到它,所以任何帮助都会很棒..我真的不确定如何去做,并且已经到处寻找想法......谢谢人们,我希望能听到一些回复:)

4

1 回答 1

0

filemtime() 将返回一个 Unix 时间戳,因此同一天的两次更新仍然是两个不同的时间戳。与其在回显时仅使用 date() 格式化日期,不如在将其保存到 $date 变量之前对其进行格式化:

foreach($pages as $page => $file) {
  $date = date('Y/m/d', filemtime($file));

然后当你打印出来时:

echo date('F j, Y', strtotime($date)) . "<br />\n";
于 2013-08-13T00:04:35.420 回答