【发布时间】:2012-12-31 18:55:16
【问题描述】:
可能重复:
File creation time
我想获取目录中的所有文件及其在数组中的创建日期。
我看到了scandir 函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename) 函数可以返回文件创建日期。只是无法把它放在一起。
【问题讨论】:
-
简答:文件创建时间不存在。
可能重复:
File creation time
我想获取目录中的所有文件及其在数组中的创建日期。
我看到了scandir 函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename) 函数可以返回文件创建日期。只是无法把它放在一起。
【问题讨论】:
使用scandir获取主目录下的所有文件和子目录
然后使用php的is_file函数。
如果你想访问特定的扩展文件,请使用 php 的glob 函数
这是一个例子:
How to get only images using scandir in PHP?
我希望这会有所帮助。
【讨论】:
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
echo filemtime($file)." ".$file;
}
closedir($handle);
}
【讨论】:
在 PHP > 5 的这些日子里,您应该使用 provided classes 来处理这种事情。对于这个特定任务,您应该使用 FilesystemIterator 例如:-
$iterator = new FilesystemIterator('D:/dev/');
foreach($iterator as $fileInfo){
if($fileInfo->isFile()){
$cTime = new DateTime();
$cTime->setTimestamp($fileInfo->getCTime());
echo $fileInfo->getFileName() . " file Created " . $cTime->format('Y-m-d h:i:s') . "<br/>\n";
}
if($fileInfo->isDir()){
$cTime = new DateTime();
$cTime->setTimestamp($fileInfo->getMTime());
echo $fileInfo->getFileName() . " dir Modified " . $cTime->format('Y-m-d h:i:s') . "<br/>\n";
}
}
这里的$fileInfo 是SplFileInfo 的一个实例,它可以为您提供有关您可能想要的文件或目录的所有信息。
【讨论】: