Информация о файле в PHP

Александр Кичатов

Как узнать размер файла

Размер файла можно получить с помощью функции filesize(). Результатом будет число в байтах:

<?php
    $size = filesize('file.txt');
    echo "Размер файла в байтах: $size<br>";
    echo 'Размер файла в мегабайтах: ' . round($size / 1024 / 1024, 2);

Дата создания и изменения файла

Функция filemtime() возвращает время последнего изменения файла в виде временной метки UNIX:

<?php
    $unix_time = filemtime('file.txt');

    echo date('d.m.Y', $unix_time); // вывод даты в формате ДД.ММ.ГГГГ
    echo date('d.m.Y H:i:s', $unix_time); // вывод даты и времени в формате ДД.ММ.ГГГГ ЧЧ:ММ:СС

К сожалению, в UNIX нет понятия даты создания файла, поэтому вам придётся где-то хранить её самостоятельно, например в базе данных или в названии файла.

Для Windows можно воспользоваться функцией filectime():

<?php
    $unix_time = filectime('file.txt');
    echo date('d.m.Y', $unix_time);

Папка, название и расширение файла

Функция pathinfo() позволяет из пути к файлу получить его папку, название и расширение:

<?php
    $info = pathinfo('D:\OpenServer\domains\programulin.ru\script.php');
    print_r($info);

Результат в браузере:

Array
(
    [dirname] => D:\OpenServer\domains\programulin.ru
    [basename] => script.php
    [extension] => php
    [filename] => script
)

Если нужен только один из параметров, можно сразу получить его с помощью встроенных констант PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME, например:

<?php
    echo pathinfo('D:\OpenServer\domains\programulin.ru\script.php', PATHINFO_BASENAME);
    // script.php

Директория текущего скрипта

Магическая константа __DIR__ позволяет быстро получить абсолютный путь к папке текущего скрипта:

<?php
    echo __DIR__;

Комментарии