Как использовать функцию wp_filesize() в WordPress 6.0.0

WP_FILESIZE() │ WP 6.0.0

Функция wp_filesize предназначена для определения размера файла на сервере. Она является оберткой для стандартной функции PHP filesize, которая делает этот процесс более удобным и безопасным благодаря наличию фильтров и приведению результата к целому числу.

Функция особенно полезна, если вы сохраняете файлы на сторонних серверах (например, Amazon S3, Google Cloud Storage или на сетевых ресурсах, таких как NFS). Это позволяет использовать фильтры для значения размера файла, что помогает избежать медленных обращений к внешнему серверу.

Время выполнения:

  • 1 раз: 0.0000501 сек (очень быстро)
  • 50000 раз: 0.23 сек (тоже очень быстро)
  • PHP: 7.4.25, WP: 6.0

Хуки функции

  • pre_wp_filesize
  • wp_filesize

Возвращаемое значение

Целое число. Размер файла в байтах или 0 в случае ошибки.

Как использовать

Для получения размера файла используйте следующую конструкцию:

$size = wp_filesize( $path );

где $path (строка) — обязательный параметр, указывающий путь к файлу.

Примеры использования

Пример 1: Получение размера файла, который существует

$path = '/path/to/file.png';
$size = wp_filesize( $path );

var_dump( $size ); // int(60235)

Пример 2: Получение размера несуществующего файла

$path = '/path/to/nonexistent-file.png';
$size = wp_filesize( $path );

var_dump( $size ); // int(0)

Код функции

Вот как выглядит реализация функции wp_filesize в файле wp-includes/functions.php:


function wp_filesize( $path ) {
/**

  • Фильтрует результат wp_filesize до выполнения функции PHP.
  • @since 6.0.0
  • @param null|int $size Неотфильтрованное значение. Возвращение int из колбэка обходится без вызова filesize.
  • @param string $path Путь к файлу.
    */
    $size = apply_filters( 'pre_wp_filesize', null, $path );

    if ( is_int( $size ) ) {
    return $size;
    }

    $size = file_exists( $path ) ? (int) filesize( $path ) : 0;

    /**

  • Фильтрует размер файла.
  • @since 6.0.0
  • @param int $size Результат функции PHP filesize на файле.
  • @param string $path Путь к файлу.
    */
    return (int) apply_filters( 'wp_filesize', $size, $path );
    }

Заключение

Функция wp_filesize позволяет легко определять ра��мер файла, при этом она фильтрует результаты и обрабатывает ошибки. Используйте эту функцию для упрощения работы с файлами на вашем сайте WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *