可能重复:
File creation time
我想获取目录中的所有文件及其在数组中的创建日期。
我看到了scandir
函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename)
函数可以返回文件创建日期。只是不能把它放在一起。
答案 0 :(得分:12)
在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的一个实例,它可以为您提供有关您可能想要的文件或目录的所有信息。
答案 1 :(得分:2)
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
echo filemtime($file)." ".$file;
}
closedir($handle);
}
答案 2 :(得分:1)
使用scandir获取主目录的所有文件和子目录
然后使用php的is_file函数。
如果您想访问特定的扩展文件,请使用php的glob功能
以下是示例:
How to get only images using scandir in PHP?
我希望这会有所帮助。