WP_MAX_UPLOAD_SIZE() │ WP 2.5.0
Функция WP_MAX_UPLOAD_SIZE() определяет максимальный размер файла, который можно загрузить, согласно настройкам php.ini.
Как это работает
Функция использует вспомогательную функцию wp_convert_hr_to_bytes(), которая преобразует строковые значения в байты. Это позволяет конвертировать настройки, такие как "8M" в число байтов.
Использование:
wp_max_upload_size();
Скорость выполнения:
- 1 раз — 0.0000138 сек (очень быстро)
- 50000 раз — 0.05 сек (почти мгновенно)
Хуки функции
upload_size_limit: используется для изменения лимита на размер загружаемого файла.
Возвращаемое значение
Функция возвращает целое число (int), которое является максимальным допустимым размером файла для загрузки.
Примеры использования
Пример 1: Ограничение размера файла для формы
Предположим, у нас есть форма, где мы добавили максимальный допустимый размер файла в атрибут data-maxfsize:
Теперь мы можем использовать скрипт на JavaScript, чтобы проверять размер файла:
const fileInput = document.getElementById('file-input');
const fileResult = document.getElementById('file-result');
const fileSubmit = document.getElementById('file-submit');
const maxFileSize = parseInt(fileInput.dataset['maxfsize']);
fileInput.addEventListener('change', function() {
if (fileInput.files.length > 0) {
const fileSize = fileInput.files.item(0).size;
if (maxFileSize >= fileSize) {
fileSubmit.disabled = false;
} else {
fileResult.innerHTML = Пожалуйста, выберите файл менее ${ Math.floor(maxFileSize / (1024 * 1024)) } МБ.;
}
}
});
Пример 2: Ограничение максимального размера загружаемых файлов
Допустим, наш сервер позволяет загружать файлы размером до 300 МБ. Нам необходимо, чтобы менеджеры в WordPress не могли загружать файлы больше 10 МБ. Для этого мы можем использовать фильтр upload_size_limit:
add_filter('upload_size_limit', static fn() => MB_IN_BYTES * 10);
Пример 3: Что возвращает функция
Вы можете проверить какое значение возвращает wp_max_upload_size:
var_dump(wp_max_upload_size()); // Вывод: int(10485760)
Изменения в версии
- Сначала введено: с версии 2.5.0.
Код функции
function wp_max_upload_size() {
$u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
$p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
/**
* Фильтры максимального размера загрузки, разрешенного в php.ini.
*
* @since 2.5.0
*
* @param int $size Максимальный размер загрузки в байтах.
* @param int $u_bytes Максимальный размер загружаемого файла в байтах.
* @param int $p_bytes Максимальный размер POST-данных в байтах.
*/
return apply_filters('upload_size_limit', min($u_bytes, $p_bytes), $u_bytes, $p_bytes);
}
Связанные функции
Некоторые функции, связанные с загрузкой и скачиванием файлов:
download_url()media_handle_sideload()media_handle_upload()media_sideload_image()size_format()wp_check_filetype()wp_check_filetype_and_ext()wp_convert_hr_to_bytes()wp_get_upload_dir()wp_handle_sideload()wp_handle_upload()wp_upload_bits()
Эта информация поможет вам лучше понять, как работает функция wp_max_upload_size() и как с её помощью управлять загрузками в WordPress. Если у вас есть вопросы, не стесняйтесь спрашивать!