Дата/время создания файла php
Попробуем вывести время/дату создания файла и вообще можно ли получить дату создания файла!?
Сегодня я посветил почти полдня в раскопках темы времени создания файла и , что вы думаете!? Я нашел ответ на вопрос "Время создания файла php"
Все способы получения времени создания файла php.
- О времени создания файла.
- Получение и вывод даты/времени создания файла.
- Получение и вывод даты/времени создания файла - 2.
- Получение и вывод даты/времени создания файла - 3.
- Получение и вывод даты/времени создания файла из названия.
- Получение и вывод даты/времени создания файла из названия - 2.
О дате/времени создания файла
Все в один голос утверждают, что дату создания файла нельзя узнать!
И если толпа, как попугаи на всех сайтах говорит, как заведенная одно и тоже, это только и означает, что пора в этом разобраться!
Как определить время создания файла через php?
Есть несколько функций, которые помогут нам узнать дату создания файла в php(
И рассмотрим еще варианты "получения времени создания файла через php".
Как частенько и бывает, что если я сомневаюсь, то скорее всего на 99% процентов, я окажусь прав!
Это о том, что я прямо вижу нимб на голове и говорю словами- «Я пришел и принес вам истину!»
Но пока скинем нимб и пойдем докажем себе и другим как обстоит дело с временем создания файла!
Получение и вывод даты/времени создания файла.
Для вывода "даты создания файла" вам потребуется:
Нам нужен путь на сервере до файла.
Например вот до этого файла.
Получим данные файла stat php.
И обратимся к массиву по ключу atime 8 строка, выделено красным
Обращаю ваше внимание!
И выведем ячейку массива с помощью echo:
$home = $_SERVER['DOCUMENT_ROOT'];
$path = '/__a-data/__all_for_scripts/clear_wordstat.php';
$file_path = $home . $file;
$stat_data = stat($file_path);
echo $stat_data['atime'];
Приведем полученную временную метку в время создания файла.
Далее используем getdate для получения времени создания файла:
$date = getdate( $stat_data [atime] );
echo $date [mday].'/'.$date [month].'/'.$date [year];
Код php вывода даты/времени создания файла
Соберем весь код php вывода даты/времени создания файла:
$home = $_SERVER['DOCUMENT_ROOT'];
$path = '/__a-data/__all_for_scripts/clear_wordstat.php';
$file_path = $home . $file;
$stat_data = stat($file_path);
$date = getdate( $stat_data [atime] );
echo $date [mday].'.'.$date [month].'.'.$date [year];
Пример вывода даты/времени создания файла
Далее используем "код php вывода даты/времени создания файла" прямо здесь:
Получение и вывод даты/времени создания файла - 2.
Прежде чем приступить ко второму варианту получения и создания файла нужно сделать маленькое отступление:
Следующий способ получения "даты создания файла" - функция
Для сайтов на UNIX-подобных данная функция возвращает дату последнего изменения.
Если вы файл не меняли со времени создания/загрузки, то "filectime" вернет "дату создания файла".
Возьмем два файла и на их примере покажу, как вернется "дата создания файла" и "дата последнего изменения":
Определяем дату создания файла №1:
Данный файл не редактировался с момента загрузки:
Используем тот код, что описан выше к данному файлу fast_translit.php и выведем результат здесь:
И далее используем функцию "filectime" таким образом:
Результат:
Вывод о дате создании файла php:
Здесь вы видите, что дата создания файла совпадает по двум кодам.
Определяем дату создания файла №2:
Применим аналогичные коды ко второму файлу clear_wordstat.
Вывод о дате создании файла №2 php:
Если вы посмотрите на выше приведенные результаты вывода даты создания файла, то увидите, что даты создания файла отличаются...
Получение и вывод даты/времени создания файла - 3.
Следующий вариант получения даты создания файла аналогичен предыдущему.
Опять возьму те же два файла и применю два способа получения даты создания файла:
Определяем дату создания файла №3.1:
Опять используем тот код, что описан выше к данному файлу fast_translit.php и выведем результат здесь:
Используем функцию "filemtime":
Вывод о дате создании файла №3.1 php:
Здесь видим абсолютно аналогичное поведение выше приведенного приведенного файла(№1), что рассматривался выше пукнтом. Когда файл не редактировался, то дата создания и дата редактирования будут совпадать!
Определяем дату создания файла №3.2:
Применим аналогичные коды ко второму файлу clear_wordstat.
Вывод о дате создании файла №3.2 php:
Здесь видим абсолютно аналогичное поведение выше приведенного файла(№2), что рассматривался выше пукнтом. Когда файл
Получение и вывод даты/времени создания файла из названия.
Выше я рассмотрел несколько способов "получения и вывод даты создания файла", можно их вполне использовать!
Но все-таки все приведенные способы не надежны на 100% поскольку может отказать в случае обновления файла! А это не есть хорошо!
Есть ли 100% вариант получения даты создания файла?
Есть 100% вариант получения даты создания файла - это создание файла с уже записанной датой в названии!
Сначала нужно создать файл с датой создания:
Функция time().
Функция для создания файла, например file_put_contents - разрешение выбираете самостоятельно, яч приведу пример с разрешением ".dat".
+ Используем знак собачки.
Код создания файла с датой создания:
<?
@file_put_contents(time().'.dat' , 'Привет мир');
?>
Код получения и вывод даты создания файла из названия.
Помещаем адрес с файлом в названии которого запечатлена дата создания файла:
Нам понадобится - basename.
Функция str_replace.
И функция date.
Соберем весь код:
Код получения и вывод даты создания файла из названия.
<?
$url_dat = 'https://dwweb.ru/example/php/file/1718476429.dat';
echo date('Y-m-d H:i', (str_replace('.dat' , '', basename($url_dat) )));
?>
Пример получения и вывод даты создания файла из названия.
И мне осталось только и всего-то... разместить выше приведенный код прямо здесь:
Получение и вывод даты создания файла из названия - 2.
Аналогичный пункт, как и предыдущий, только отличается дата создания файла - 2024-06-15_21-33.dat :
Создаем файл с датой создания файла:
<?
@file_put_contents( date('Y-m-d_H-i') .'.dat' , 'Привет мир');
?>
Код получения и вывод даты создания файла из названия.
<?
$url_dat_2 = 'https://dwweb.ru/example/php/file/2024-06-15_21-33.dat';
echo str_replace(array('.dat' ,'_' ) , ' ', basename($url_dat_2 ) ) ;
?>
Пример получения и вывод даты создания файла из названия.
Размещаем выше приведенный код "получения и вывод даты создания файла из названия" прямо здесь: