PHP filemtime () (который внутренне в основном просто вызывает stat()
и возвращает только значение m-time) работает с одним файлом за раз.
У вас уже есть вызов glob()
в вашем скрипте, чтобы получить список имен файлов. Поместите вызов filemtime () в этот цикл, чтобы получить mtime каждого файла, и выполните там сравнения.
Ваш код не работает, поскольку вы не присвоили значение для $file
в тот момент, когда вы выполняете первоначальный вызов filemtime (), так что возвращает логическое значение FALSE
для ошибки, которое преобразуется в целое число 0
для форматирования date()
. Вы находитесь в часовом поясе с отрицательным временем по Гринвичу, поэтому он немного преобразуется в дату ДО января 1/1970, то есть в 0 по Гринвичу.
Что вам нужно:
foreach (glob("$folder/*") as $team) {
$lastmoddate = filemtime("$folder/$team");
... date stuff ...
$sort[]= basename($team);
}