2013-05-07 39 views
1

我必須在上傳功能後顯示文件列表和文件的上次修改日期。要顯示Template :: Toolkit文件中的文件的最近修改日期

當我們上傳文件時,他們將移動到一個目錄中。之後,我必須在「模板工具箱」文件中顯示其上次修改日期的文件列表。

對於檢索我來檢索文件的最後修改日期的文件我用這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文件的最後修改日期。

+0

工作示例大多是良好的開始,http://search.cpan.org/~abw/Template-Toolkit-2.24/lib/Template/Tutorial/Web.pod#Generating_Static_Web_Content – 2013-05-07 11:37:37

+1

這一切看起來都很合理。你有什麼問題?獲取時間戳?顯示你的數據?都? – 2013-05-07 11:57:02

回答

0

在腳本的第一部分,你應該使用執行opendir來檢索文件和統計來獲取文件的修改日期。像這樣:

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訪問列表的引用:

您可能還需要得到的mtime不同的格式。運行perldoc -f localtime以查看如何執行此操作的示例。