可能重复:
文件创建时间
我想得到一个目录中的所有文件,以及它在数组中的创建日期。
我看到了scandir
函数,但它甚至返回了我不想要的目录。我还发现filemtime($filename)
函数可以返回文件创建日期。只是无法将其组合在一起。
在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的一个实例,它可以为您提供您想要的文件或目录的所有信息。
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
echo filemtime($file)." ".$file;
}
closedir($handle);
}
使用scandir获取主目录的所有文件和子目录
然后使用php的is_file函数。
如果你想访问特定的扩展文件,请使用php的glob函数
以下是示例:
如何在PHP中使用scandir只获取图像?
我希望这能有所帮助。