我怎么能得到的只有文件名和包含到一个文件夹中的文件的最后修改日期(甚至是子文件夹)我怎么能得到的只有最后修改日期
我想这种结果:
path/filename lastmodified_date
或
filename lastmodified_date
我怎么能得到的只有文件名和包含到一个文件夹中的文件的最后修改日期(甚至是子文件夹)我怎么能得到的只有最后修改日期
我想这种结果:
path/filename lastmodified_date
或
filename lastmodified_date
你需要使用的glob获取列表文件()或SCANDIR()后,您需要使用filemtime取得最后修改日期()。
试试这个代码
$files = scandir('./'); // Get list files current dir
$times = array_map('filemtime', $files); // Get last modified date each file
$result = array_combine($files, $times); // Set file names as array index and times as value
现在我们有文件名和最后修改日期的阵列。您可以通过使用foreach($result as $filename => $date)
$数据获得数据将有unix时间日期。
find /p/a/t/h -type f -printf '%p %t\n'
会告诉你下面/p/a/t/h
每个文件的名称和修改时间。为了得到一个划时代时间,而不是长期的形式,使用方法:
find /p/a/t/h -type f -printf '%p %[email protected]\n'
检查文档find
关于如何改变时间戳的格式说明。
我可以操作日期格式吗?例如,我不希望hh:mm.ss,但只有hh:mm – rschirin 2013-02-24 19:33:56
是的。 RTFM。并不是所有的find都支持printf,但是那些提供格式字符串来操纵输出。如果你的'find'没有提供-printf,那么使用'-exec'来调用'stat'来打印一个纪元时间并用perl过滤输出以产生你想要的格式。 – 2013-02-25 05:19:42
用scandir()找到的每个文件我必须调用filemtime(),对不对? – rschirin 2013-02-22 20:01:06
是的,你是对的。 – Winston 2013-02-22 20:06:46
@rschirin我在我的答案中写给你简单的代码 – Winston 2013-02-22 20:15:40