Описание функции wp_handle_sideload()
Функция wp_handle_sideload() обрабатывает загрузку файлов, позволяя сохранить файл на сервере и возвращая массив с данными о загруженном файле. Она используется, когда файл загружается не через стандартные формы WordPress, например, при загрузке из внешних источников или в плагинах.
Функция также выполняет проверку MIME-типа и перемещает загруженный файл в нужную директорию.
Параметры
$file
Тип: array
Обязательный: Да
По умолчанию: null
Описание: Массив данных о загружаемом файле, включая ‘name’, ‘type’, ‘tmp_name’, ‘error’, ‘size’
Возможные значения:
name: Имя файла
type: MIME-тип файла
tmp_name: Временное имя файла на сервере
error: Код ошибки загрузки
size: Размер файла в байтах
$overrides
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив для переопределения стандартных параметров загрузки
Возможные значения:
action: Функция для обработки загружаемого файла
unique_filename: Функция для генерации уникального имени файла
upload_overrides: Дополнительные параметры загрузки
Возвращаемое значение
Тип: array|WP_Error
Описание: Массив с данными о загруженном файле или объект WP_Error в случае ошибки
Возможные значения:
• Массив с данными (URL, путь, имя файла и т.д.) при успешной загрузке
• WP_Error при возникновении ошибки
Примеры использования
Простой пример загрузки файла и обработки результата
$file = $_FILES['uploaded_file'];
$result = wp_handle_sideload($file);
if (isset($result['error'])) {
echo 'Ошибка: ' . $result['error'];
} else {
echo 'Файл загружен: ' . $result['url'];
}
Если файл загружен успешно, отображается URL загруженного файла
Загрузка файла с переопределением стандартных параметров
$file = $_FILES['uploaded_file'];
$overrides = array('test_form' => false);
$result = wp_handle_sideload($file, $overrides);
В данном случае отключается проверка формы
Проверка на ошибки и вывод сообщения
$file = $_FILES['uploaded_file'];
$result = wp_handle_sideload($file);
if (is_wp_error($result)) {
echo 'Ошибка загрузки: ' . $result->get_error_message();
}
Выводится сообщение об ошибке, если загрузка не удалась
Безопасность
Валидация входных данных: Параметры проверяются на корректность, включая MIME-типы
Санитизация: Функция автоматически очищает и проверяет входные данные
Рекомендации: Проверьте права доступа к файлам и директориям перед загрузкой
— Связанные функции
Загружает файл непосредственно в файловую систему
Обрабатывает загрузку файла через форму
— Хуки
Фильтрует данные перед обработкой загрузки файла
Фильтрует данные после обработки загрузки файла
— Примечания
– Ограничения
Может не поддерживать все типы файлов в зависимости от конфигурации сервера
– Частые проблемы
- Ошибка загрузки из-за превышения максимального размера файла
- Неверный MIME-тип файла