get_dirsize()
Получает размер директории в байтах. Результат кэшируется во временные опции: 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' )
Примеры
#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.7.1
function get_dirsize( $directory, $max_execution_time = null ) { /* * Exclude individual site directories from the total when checking the main site of a network, * 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; }