【问题标题】:To display the last modified dates for the files in Template::Toolkit file显示 Template::Toolkit 文件中文件的最后修改日期
【发布时间】:2013-05-01 03:24:54
【问题描述】:

上传功能后,我必须显示文件列表和文件的最后修改日期。

当我们上传文件时,它们将移动到一个目录中。之后,我必须在“模板工具包”文件中显示文件列表及其最后修改日期。

为了检索我正在使用此 Perl 代码的文件列表

my $path = "/sa2/tools/jayaram_delete";

if (chdir($path)) {
    @files = glob "*";
}
else {
    @files = ();
}

print STDERR "FiveJayaram:@files";
$c->stash->{myoptions} = \@files;

同样,我必须检索文件的最后修改日期。

用于显示.tt 文件中的文件:

[% FOREACH my IN myoptions%]
<tr class=propertyTableValueColValue><td><div><b>[% my %]</b></div></td></tr>
[% END %]

请帮助我使用 Perl 在.tt 文件中显示文件列表和最后修改日期。

【问题讨论】:

标签: perl template-toolkit


【解决方案1】:

在脚本的第一部分,您应该使用 opendir 来检索文件,并使用 stat 来获取文件的修改日期。像这样:

opendir my $ls,$path or die $!;
while (my $file = readdir $ls ) {
    next if !-f "$path/$file";

    my @stat = stat("$path/$file");
    push @files, [ $file , localtime($stat[9]) ];
}
closedir $ls;

现在您有一个必须传递给模板的列表。列表中的每一项都是对包含文件和 mtime 的列表的引用。您应该将此列表传递给模板并检索它。查看此文档以了解在 TT 中访问列表的引用:

http://template-toolkit.org/docs/manual/Variables.html#section_List_References

您可能还想以不同的格式获取 mtime。运行 perldoc -f localtime 以查看如何执行此操作的示例。

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2020-05-12
    • 2019-02-26
    • 1970-01-01
    相关资源
    最近更新 更多