0

我在从文件夹内部检索文件信息时遇到问题。

当然,我使用的是 PHP。我有各种文件夹,都有各种文件类型。主要是 .txt 和 .html 文件。

下面的代码显示了我网页上的文件夹以及文件,但由于某种原因,我无法获得正确的文件日期或大小。文件日期当然是文件夹中的修改日期。这些文件通常是从另一个位置复制和粘贴的。我打算让一个批处理文件自动将文件放在目录中。

这是我正在使用的代码:

 <?php
   function listFolderFiles($dir)
        {
            $ffs = scandir($dir);
            echo '<ul>';
            foreach($ffs as $ff)
            {
                if($ff != '.' && $ff != '..')
                {
                    echo '<li>';
                    if(is_dir($dir.'/'.$ff))
                    {
                        echo $ff;
                        listFolderFiles($dir.'/'.$ff);
                    } 
                    else 
                    {
                        echo "<a href='$dir/$ff'>$ff</a> - Last Updated: " . 
                        date('F d, Y h:i', filectime($ff)) . " - Size " . filesize($ff);
                        echo "<br />";
                    }
                    echo '</li>';
                }
            }
            echo '</ul>';
        }
    listFolderFiles('exportReports');
 ?>

正如您在代码中看到的,我使用了 PHP 函数 filectime。我也使用过filemtime。函数 filectime 似乎返回当前日期,而 filemtime 返回 1969 年 12 月 31 日的日期。

这些文件位于正确的目录中。如果我能够在我的页面上显示文件,并且用户可以下载文件,那么为什么它不会检索修改日期?我知道如果 PHP 没有找到该文件,它将返回 1969 年的日期。但这没有意义。我可以得到文件,为什么我不能得到修改日期?

我试过在这里加上单引号和双引号:

 date('F d, Y h:i', filectime("$ff")) or date('F d, Y h:i', filectime('$ff'))

但是,我仍然得到了 1969 年的日期。

我尝试了许多其他 PHP 函数。统计(),触摸(),getlastmod()。我不知道还有什么好用的。

与文件大小功能相同。它返回值 0。

我不明白。

有替代方案吗?我用错了吗?如果是这样,我该怎么做才能解决这个问题?

请帮忙。

4

0 回答 0