Описание функции download_url()
Функция download_url() загружает файл по указанному URL и сохраняет его на сервере. Это полезно для загрузки файлов, таких как темы, плагины или медиафайлы, которые могут быть необходимы для работы сайта. Функция также обрабатывает ошибки, возвращая WP_Error в случае неудачи.
Функция может использоваться в плагинах и темах, где необходимо загрузить файлы с удаленных серверов.
Параметры
$url
Тип: string
Обязательный: Да
Описание: URL для загрузки файла
Возможные значения:
$timeout
Тип: int
Обязательный: Нет
По умолчанию: 15
Описание: Время ожидания в секундах для загрузки файла
Возможные значения:
$response
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив параметров для обработки ответа
Возможные значения:
filename: Имя файла для сохранения
destination: Путь для сохранения файла
Возвращаемое значение
Тип: string|WP_Error
Описание: Путь к загруженному файлу или объект WP_Error в случае ошибки
Возможные значения:
• Строка с путем к загруженному файлу при успешной загрузке
• WP_Error в случае неудачи
Примеры использования
Простой пример загрузки файла и обработки ошибок
$file = download_url('https://example.com/file.zip');
if (is_wp_error($file)) {
echo 'Ошибка загрузки: ' . $file->get_error_message();
} else {
echo 'Файл загружен: ' . $file;
}
Файл загружен: /path/to/file.zip
Загрузка файла с указанием времени ожидания в 30 секунд
$file = download_url('https://example.com/file.zip', 30);
// Обработка аналогична предыдущему примеру
Указание имени файла для сохранения при загрузке
$response = array('filename' => 'custom_name.zip');
$file = download_url('https://example.com/file.zip', 15, $response);
Безопасность
Валидация входных данных: Функция проверяет, что URL является действительным и доступным
Санитизация: Параметры автоматически очищаются WordPress
Рекомендации: Используйте esc_url() для проверки URL перед передачей в функцию
— Связанные функции
Получает данные с удаленного URL, но не сохраняет файл
Записывает данные в файл
— Примечания
– Ограничения
Не поддерживает загрузку файлов с некоторых защищенных ресурсов
– Частые проблемы
- Ошибка при недоступности URL
- Недостаточные права доступа для записи в директорию