get_dirsize() WP 3.0.0

Отримує розмір директорії у байтах. Результат кешується в часові опції: get_transient() .

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

Функція визначена лише у мультисайтовій установці WordPress. Тому, щоб функція працювала у звичайній установці, потрібно підключити файл:

require_once ABSPATH. WPINC .'/ms-functions.php';

Працює на основі:
recurse_dirsize()

Хуків немає.

Повертає

int|false|null. Розмір у байтах. Якщо директорії не існує, то поверне fales.

Використання

get_dirsize($directory, $max_execution_time);
$directory
(рядок) (обов’язковий)
Повний шлях до каталогу (папки).
$max_execution_time
(число)
Максимальний час виконання за секунди. Час вважається, починаючи від глобальної точки відліку (коли WP тільки почав завантажуватися – константа
WP_START_TIMESTAMP ).


За замовчуванням: null – ini_get( ‘max_execution_time’ )

Приклади

0

#1 Отримаємо повний розмір каталогу завантажень uploads

$upload_dir = wp_upload_dir();

// Підключимо необхідні функції
require_once ABSPATH. WPINC .'/ms-functions.php';

$mb = get_dirsize($upload_dir['basedir']);

echo number_format ($ mb / (1024 * 1024), 1). MB'; // виведе: 93.2 MB

список змін

З версії 3.0.0Введено.
З версії 5.2.0$max_execution_time parameter added.

Код get_dirsize() WP 6.0.2

function get_dirsize( $directory, $max_execution_time = null ) {

	// Exclude окремі веб-адреси від загального доступу до мережі,
	// as they are subdirectories and should not be counted.
	if ( is_multisite() && is_main_site() ) {
		$size = recurse_dirsize( $directory, $directory . '/sites', $max_execution_time );
	} else {
		$ size = recurse_dirsize ($ directory, null, $ max_execution_time);
	}

	return $size;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *