Время изменения файла PHP в миллисекундах

Полный пример находится прямо на странице, на которую вы ссылаетесь. Нажмите зеленую кнопку «Просмотр источника», расположенную под таблицей, чтобы развернуть некоторые фрагменты. Под фрагментами «JavaScript» есть обработчики нажатий кнопок, прокомментированные с //trigger download of data.*** file. Этот код использует jQuery для указания того, что вызывает кнопка при нажатии. Кнопки вызывают table.download() с параметрами, чтобы указать формат и загрузить имя файла.

Вы также можете увидеть это здесь: http://tabulator.info/examples/4.2?#download

7
задан hakre 2 June 2012 в 15:04
поделиться

2 ответа

Точность отметки времени AFAIK UNIX составляет секунды, так что это может быть невозможно.

Кстати, обратите внимание, что PHP кэширует возвращаемое значение filemtime () внутренне, поэтому clearstatcache () следует вызывать раньше.

Альтернативный метод может заключаться в том, чтобы сначала изменить (или удалить) содержимое файла, чтобы вы могли легко идентифицировать изменения. Поскольку состояние системы должно оставаться неизменным после выполнения каждого теста, в любом случае имеет смысл восстановить исходное содержимое файла после запуска модульного теста.

2
ответ дан 6 December 2019 в 19:33
поделиться

Хм. Вообразите веб-сервер, где мы используем комбинацию PHP и говорим, например, nodeJS. На земле nodeJS, когда мы получаем время изменения файла, он включает миллисекунды. В PHP это не делает. Теперь позволяет, говорят, что для любых больших файлов (много Гигабайтов), который мы позволяем пользователю загружать, мы имеем и поддерживаем соответствующий файл, содержащий предрасчетную контрольную сумму MD5 всего файла. Мы храним эту контрольную сумму в файле с тем же именем как исходный файл, но предварительно ожидаемый также с размером и время изменения файла. ВКЛЮЧАЯ МИЛЛИСЕКУНДЫ! (со всем тем сделанным узлом)

Пример: GEBCO_2019.nc (11723617646 байтов) и GEBCO_2019.nc.11723617646-2019-10-31T15-03-06.687Z.md5

Теперь на странице загрузок, мы решаем отобразить контрольную сумму MD5, Это использует код PHP

О НЕТ!!!

Мы называем filemtime, но увы мы не можем получить миллисекунды, таким образом, мы не можем разработать название файла Md5.

МЫ МОГЛИ ИЗМЕНИТЬ КОД УЗЛА для игнорирования части миллисекунды.

как дефицит в PHP здесь заставляет нас выбирать более низкий общий знаменатель, чем мы должны иметь к.

также ИСКЛЮЧИТЕЛЬНО УЖАСНО должным быть обратиться к запущению внешней программы только для получения времени изменения файла. Если бы необходимо было сделать это 50 или 60 раз для единственной загрузки страницы, я ожидаю, что она замедлила бы вещи просто немного!!!

Теперь точность времени модификации файла, конечно, системно-зависима. PHP должен непосредственно предоставить нам способ добраться на этот раз, и это - серьезный дефицит, если он не может.

0
ответ дан 6 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: