在Windows上,CTime是创建时间,使用以下内容:
<?php
$files = array();
foreach (new DirectoryIterator('/path') as $fileInfo) {
$files[$fileInfo->getFileName()] = $fileInfo->getCTime();
}
arsort($files);
Run Code Online (Sandbox Code Playgroud)
在此$文件之后将包含一个文件名数组作为键,ctime作为值.由于可能存在相同的ctimes,我选择了这种向后表示,这会导致$ files中的条目被覆盖.
更新了使用CTime作为OP澄清他正在使用Windows的答案.
您不能在Unix系统上创建日期,但是对于更改日期,但请参阅下面的Windows编辑.
代码如下:
function sortByChangeTime($file1, $file2)
{
return (filectime($file1) < filectime($file2));
}
$files = glob('*'); // get all files in folder
usort($files, 'sortByChangeTime'); // sort by callback
var_dump($files); // dump sorted file list
Run Code Online (Sandbox Code Playgroud)
从关于filectime的PHP手册的注释:
注意:还要注意,在某些Unix文本中,文件的ctime被称为文件的创建时间.这是错的.在大多数Unix文件系统中,Unix文件没有创建时间.
有关ctime,atime和mtime的差异,请参阅Antti答案中的链接,并确定最适合在Unix上使用的Usecase.
编辑:filectime页面上的注释之一说明Windows上没有更改时间,filectime确实返回创建时间.我不是Windows文件系统的专业人士,但使用上述内容可能是你最好的选择.或者,您可以查看COM API以获取ScriptingHost的句柄,并查看是否可以从那里获取创建时间.
| 归档时间: |
|
| 查看次数: |
13259 次 |
| 最近记录: |