Как узнать дату создания файла php

Обновлено: 06.07.2024

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

Есть filemtime и filectime .

А если файл не был изменен, что будет?

Используйте filectime . Для Windows он вернет время создания , а для Unix - время изменения, которое является лучшим из возможных, потому что в Unix нет времени создания (в большинстве файловых систем).

Также обратите внимание, что в некоторых текстах Unix ctime файла называется временем создания файла. Это не правильно. В большинстве файловых систем Unix нет времени для создания файлов Unix.

Возвращает время последнего изменения файла или FALSE в случае ошибки. Время возвращается в виде отметки времени Unix. @zod Если вы прочтете немного дальше, чем первые строки, вы можете понять больше. Зайдите тоже немного в комментарии. filemtime для Linux лучше и точнее, так как filectime при изменении владельца права доступа и другие операции. У вас будет больше шансов получить время создания в Linux, используя filemtime Было бы быстрее запустить эту функцию php или вытащить поле MySQL для последнего обновления? В моем случае путь к изображению хранится в БД и уже выполняется запрос выбора

Код указывает имя файла, затем проверяет, существует ли оно, а затем отображает время модификации с помощью filemtime() .

filemtime() принимает 1 параметр, который является путем к файлу, он может быть относительным или абсолютным.

Ракеш, пожалуйста, объясните свой код, а не просто размещайте код и ожидайте, что люди его поймут. Майкл, поскольку значение функции filemtime () неочевидно, код заслуживает некоторого комментария.

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

Это немного зависит от вашей файловой системы. Я знаю, что ext2 и ext3 не поддерживают время создания, но я думаю, что ext4 поддерживает.

Я знаю, что эта тема очень старая, но, если кто-то ищет ответ, как я, я публикую свое решение.

Это решение работает, ЕСЛИ вы не возражаете, если в начале файла есть дополнительные данные.

По сути, идея состоит в том, чтобы, если файл не существует, создать его и добавить текущую дату в первую строку. Затем вы можете прочитать первую строку с помощью fgets(fopen($file, 'r')) , превратить ее в DateTime объект или что-то еще (вы, очевидно, можете использовать ее в сыром виде, если вы не сохранили ее в странном формате) и вуаля - у вас есть дата создания! Например, мой сценарий для обновления моего файла журнала каждые 30 дней выглядит так:

Читайте также: