1

可能重复:
文件创建时间

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

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

4

3 回答 3

14

在 PHP > 5 的这些日子里,您应该使用提供的类来处理这类事情。对于这个特定任务,您应该使用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的实例,它可以为您提供有关您可能想要的文件或目录的所有信息。

于 2013-01-17T12:34:16.527 回答
3
if ($handle = opendir('/path/to/files')) {

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

    closedir($handle); 
}
于 2013-01-17T09:24:56.760 回答
1

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

然后使用php 的is_file函数。

如果你想访问特定的扩展文件,请使用php 的glob函数

这是示例:

如何在 PHP 中使用 scandir 仅获取图像?

我希望这有帮助。

于 2013-01-17T09:21:11.680 回答