我在从文件夹内部检索文件信息时遇到问题。
当然,我正在使用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函数。 stat(),touch(),getlastmod()。我不知道还有什么用。
与filesize函数相同。它返回值0。
我不明白。
还有其他选择吗?我用错了吗?如果是这样,我该怎么做才能解决这个问题?
请帮忙。