获取目录中包含数组中创建日期的所有文件

时间:2013-01-17 09:16:34

标签: php file date directory

  

可能重复:
  File creation time

我想获取目录中的所有文件及其在数组中的创建日期。

我看到了scandir函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename)函数可以返回文件创建日期。只是不能把它放在一起。

3 个答案:

答案 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";
    }
}

此处$fileInfoSplFileInfo的一个实例,它可以为您提供有关您可能想要的文件或目录的所有信息。

答案 1 :(得分:2)

if ($handle = opendir('/path/to/files')) {

    while (false !== ($file = readdir($handle))) { 
        echo filemtime($file)."&nbsp;&nbsp;".$file;
     }

    closedir($handle); 
}

答案 2 :(得分:1)

使用scandir获取主目录的所有文件和子目录

然后使用php的is_file函数。

如果您想访问特定的扩展文件,请使用php的glob功能

以下是示例:

How to get only images using scandir in PHP?

我希望这会有所帮助。