get_dirsize

Получает размер директории в байтах. Результат кэшируется во временные опции: get_transient().

Вспомогательная функция, которая используется для проверки есть ли у блога в MU сборке доступное место в каталоге uploads.

Функция определена только в мультисайтовой установке WordPress. Поэтому чтобы функция работала в обычной установке, нужно подключить файл:

get_dirsize( $directory );
$directory(строка) (обязательный)
Полный путь до каталога (папки).

Примеры

#1 Получим полный размер каталога загрузок uploads

<?php
function get_dirsize( $directory ) {
	$dirsize = get_transient( 'dirsize_cache' );
	if ( is_array( $dirsize ) && isset( $dirsize[ $directory ][ 'size' ] ) )
		return $dirsize[ $directory ][ 'size' ];

	if ( ! is_array( $dirsize ) )
		$dirsize = array();

	// Exclude individual site directories from the total when checking the main site,
	// as they are subdirectories and should not be counted.
	if ( is_main_site() ) {
		$dirsize[ $directory ][ 'size' ] = recurse_dirsize( $directory, $directory . '/sites' );
	} else {
		$dirsize[ $directory ][ 'size' ] = recurse_dirsize( $directory );
	}

	set_transient( 'dirsize_cache', $dirsize, HOUR_IN_SECONDS );
	return $dirsize[ $directory ][ 'size' ];
}