使用PHP获取目录中文件的最后修改日期

使用PHP获取目录中文件的最后修改日期,php,date,Php,Date,我正在尝试使用PHP获取目录中所有文件的最后修改日期 我用的是: foreach($dir as $file) { $mod_date=date("F d Y H:i:s.", filemtime($file)); } foreach($dir as$file)正在返回正确的文件,但所有修改日期都返回为0000-00-00:00:00,而不是实际的修改日期 我需要做哪些更改才能使其正常工作?日期(“F d Y H:I:s.”,false)就是您得到的。请参见filemtime的第页。失败时返

我正在尝试使用PHP获取目录中所有文件的最后修改日期

我用的是:

foreach($dir as $file) 
{
$mod_date=date("F d Y H:i:s.", filemtime($file));
}
foreach($dir as$file)
正在返回正确的文件,但所有修改日期都返回为0000-00-00:00:00,而不是实际的修改日期


我需要做哪些更改才能使其正常工作?

日期(“F d Y H:I:s.”,false)
就是您得到的。请参见
filemtime
的第页。失败时返回false。

检查$file变量是否实际指向正确的文件

foreach($dir as $file) 
{
  if(is_file($file))
  {
    $mod_date=date("F d Y H:i:s.", filemtime($file));
    echo "<br>$file last modified on ". $mod_date;
  }
  else
  {
    echo "<br>$file is not a correct file";
  }
}
foreach($dir作为$file)
{
if(is_文件($file))
{
$mod_date=date(“F d Y H:i:s.”,filemtime($file));
echo“
$上次修改的文件日期为“$mod\u; } 其他的 { echo“
$文件不是正确的文件”; } }
与其使用
glob
功能,不如使用
scandir
功能。
其次,通过使用
date(“Y-m-dh:i:s”,filemtime($file))

函数是否返回错误?如何打开
$dir
,其路径是否与脚本运行的路径不同?在调用
filemtime
@drew010之前,您可能需要预先将目录路径设置为
$file
。我正在按如下方式设置目录:
$dir=glob(“/home/*****/public_html/monthlymixup.com/mixups/april_2011/media/*/”
而脚本的路径是
/home/*****/public_html/monthlymixup.com/process.php'
如何预先设置目录?
$file
正确返回文件的完整路径。@Nick因为您使用的是glob,所以它在文件上有路径,不需要。如果您使用了
opendir
,那么它只返回文件名。是的,我得到了,例如
/home/*****/public_html/monthlymixup.com/mixups/april_2011/media/nick//u say boss man.mp3上次修改时间为2012年2月23日11:26:32我现在可以看到问题是,提交到MySQL表的日期格式不正确,我当时正在读取0000-00-00:00:00。我应该包括这个信息!你知道我如何将
2012年2月23日11:26:32
转换为
2012-02-23 11:26:32
?试试这个:
echo date(“Y-m-d G:I:s”),strotime(“2012年2月23日11:26:32”)对于您的代码,我猜它将成为
日期(“Y-m-dg:I:s”,strotime($mod_date))或者,在获取filemtime()时,您可以执行
date(“Y-m-dg:i:s”,filemtime($file))
@Nick,最好使用
DateTime
对象和
createFromFormat()
方法,而不是
strotime()