我在从文件夹内部检索文件信息时遇到问题。
当然,我使用的是 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。
我不明白。
有替代方案吗?我用错了吗?如果是这样,我该怎么做才能解决这个问题?
请帮忙。