Nasıl PHP 5.2 en son ilk dosya oluşturulması ile bir dizin sıralayabilirim?
Ben Windows 2000 duyuyorum.
Pencere On CTime aşağıdaki kullanın, oluşturma zamanı:
<?php
$files = array();
foreach (new DirectoryIterator('/path') as $fileInfo) {
$files[$fileInfo->getFileName()] = $fileInfo->getCTime();
}
arsort($files);
Bu $ dosyaları değerler olarak tuşları ve ctime gibi dosya bir dizi içerecektir sonra. Ben nedeniyle $ dosyalarında bir giriş yazılmasına neden olur özdeş ctimes, olasılığı bu geriye temsil seçti.
OP olarak CTime kullanmak için güncelleştirilmiş cevabı o Windows'u kullanıyor açıkladı.
Unix sisteminde oluşturma tarih olamaz, ama değişim için tarih, but, Windows için aşağıdaki düzenlemeyi bakın.
Aşağıdaki gibi kod:
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
Üzerinde PHP El Kitabı Notlar filectime:
Note: Note also that in some Unix texts the ctime of a file is referred to as being the creation time of the file. This is wrong. There is no creation time for Unix files in most Unix filesystems.
Ctime, atime ve mtime farklılıkları için link in Antti's answers görün ve Unix üzerinde olduğunda en uygun sizin usecase karar.
Edit, one of the comments at the page for filectime notes that there is no change time on Windows ve filectime indeed returns the creation time. Windows dosya sistemlerinde hiçbir yanlısı değilim, ama yukarıdaki kullanarak muhtemelen en iyi bahis daha sonra. Alternatif olarak, ScriptingHost ele almak ve oradan Oluşturma Zamanı alabilirsiniz görmek için COM API içine bakabilirsiniz. Em>