使用PHP获取目录中文件的最后修改日期
我正在尝试使用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的第页。失败时返
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()
。