получение микросекунд или миллисекунд в filemtime

scooterok

Новичок
Приветствую!
Есть ли какой-то способ получить последние изменение файла не только:
date("YmdHis", filemtime($folder.'/'.$file))

а и в микросекундах или миллисекундах...

например:
date("YmdHisu", filemtime($folder.'/'.$file))

Но "u" в date всегда будет выдавать 000000!

Нужно это для поиска первого измененного файла при атаках на сайт, например взлом популярных движков...
Сейчас список выводит последнюю дату изменения как год, месяц, день, час, минуты, секунды и в списке есть в одно и тоже время около 50-ти файлов которые подверглись взлому.
Хотелось бы среди них найти первого, кого посмели взломать :)
 
На php хрен его знает, а так ls -lt *.php --full-time
 
Вроде нельзя, так как в файловую систему записывается только по секунды, остальное округляется...
 
ОС какая у тебя? ФС какая на ней?

Если ext4 - то можно
 
PHP:
$ php -a
Interactive shell

php > $filename = ".env"; $f = escapeshellarg($filename);
php > $stat = `/usr/bin/stat --format %y $f`; var_dump($stat);
string(36) "2015-05-07 19:32:42.412000000 +0300
"
Строку уж сам распарсить сможешь?
 
Что-то не получается получить информацию о файле...
При команде php -a выводит - "Interactive mode enabled", после чего больше ничего не выводит...
Писал так:
$filename = "полный путь к файлу";
$f = escapeshellarg($filename);
$stat = `/usr/bin/stat --format %y $f`;
var_dump($stat);

точно также и при запросе скриптом:
$out = shell_exec('php -a');
$out.= shell_exec('$filename = "полный путь к файлу";');
$out.= shell_exec('$f = escapeshellarg($filename);');
$out.= shell_exec('$stat = `/usr/bin/stat --format %y $f`;');
$out.= shell_exec('var_dump($stat);');
print $out;

Что я не так делаю? :)
 
facepalm

$filename = ".env"; $f = escapeshellarg($filename);
$stat = `/usr/bin/stat --format %y $f`; var_dump($stat);

это код!

php -a это интерактивный режим. я туда ввел этот код и тебе скопипастил.
 
Хорошо, а вот запускаю в пхп файле скрипт вида:
$out = shell_exec('stat --format %y '.escapeshellarg($filename));
print $out;

результат получается вот такой:
2013-09-30 22:39:23.000000000 +0400

Почему?
 
Еще вот интересный вопрос.
Какая разница между Modify и Change?
И почему такая большая разница, например Modify файла 2014-01-15 02:40:39 и Change того же файла 2015-05-13 12:04:11 ?
Судя по всему Change актуальнее освещает время последнего изменения файла?
Тогда почему известная многим программа WinSCP показывает по полю Modify ?
Буду очень признателен :)
 
modify - последнее изменение содержимого файла.
change - последнее изменение метаданных файла.
Естественно, не будучи дурой, WinSCP показывает последнее время изменения содержимого. Мало кому интересно, когда у файла последний раз менялись права доступа.
 
modify - последнее изменение содержимого файла.
change - последнее изменение метаданных файла.
Естественно, не будучи дурой, WinSCP показывает последнее время изменения содержимого. Мало кому интересно, когда у файла последний раз менялись права доступа.
Спасибо, действительно)
 
Сверху