get_dirsize()
Отримує розмір директорії у байтах. Результат кешується в часові опції: get_transient() .
Допоміжна функція, яка використовується для перевірки, чи є у блогу в MU збірці доступне місце в каталозі uploads.
Функція визначена лише у мультисайтовій установці WordPress. Тому, щоб функція працювала у звичайній установці, потрібно підключити файл:
require_once ABSPATH. WPINC .'/ms-functions.php';
Працює на основі:
recurse_dirsize()
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’ )
Приклади
#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() 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; }