Время создания файла через PHP (или что-то подобное) - PullRequest
0 голосов
/ 30 марта 2012

Я перебираю каталог и получаю все файлы с помощью glob (). Есть ли способ упорядочить элементы результирующего массива по дате / времени их создания? В настоящее время я использую filemtime (), но это предполагает, что они никогда не редактировались.

Ура!

Ответы [ 3 ]

2 голосов
/ 30 марта 2012

Вы можете попробовать следующее:

$array = glob("*.txt");
usort($array, function($a, $b) {
    $aTime = filectime($a);
    $bTime = filectime($b);
    if ($aTime < $bTime) {
        return -1;
    } elseif ($aTime > $bTime) {
        return 1;
    } else {
        return 0;
    }
});

Это передает анонимную функцию, чтобы разрешить пользовательскую сортировку массива. Функция на этот раз проверяет и сортирует в зависимости от времени создания (windows) / времени изменения inode (linux) файлов, возвращаемых glob.

Надеюсь, это поможет.

ISE

1 голос
/ 30 марта 2012

http://www.php.net/manual/en/function.filectime.php

Может быть немного ближе к тому, что вам нужно. При редактировании оно все еще обновляется, но не содержимое ... только метаданные.

0 голосов
/ 30 марта 2012

Многие файловые системы не хранят никакой информации о дате создания файла.На них вы можете попробовать использовать filectime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...