Пример скачивания логотипа яндекса:
Способ 1:
$result = drupal_http_request('http://img.yandex.net/i/www/logo.png');
if (empty($result->error) && $result->data) {
file_unmanaged_save_data($result->data, 'public://images/yandex-logo.png');
}
Способ 2:
system_retrieve_file('http://img.yandex.net/i/www/logo.png', 'public://images');
Написанное актуально для
Drupal 7
Похожие записи
- Как получить размер файла по его URL
- Навесить на элемент managed_file свой ajax callback (Как обновить всю форму при загрузки файла в managed_file)
- Автоматическое удаление файлов после удаления сущности
- Отключить автоматический аплоад файлов у определённого поля
- One Click Upload и заливка файлов в textarea с помощью Drag&Drop
Комментарии
супер! мне понадобилось написать минимум 10 строк кода чтобы сделать это в семерке.
кстати, заметили проблему с назначением дефолтным изображениям поля Image статуса temporary ? это реальный баг
да, есть такой. я думал в 7.2 починили, а оказывается нет
все работает, только после
file_unmanaged_save_data($result->data, 'public://images/yandex-logo.png') точку-с-запятой пропустили. не знаю специально или нет
и надо в папке files еще папку images создать
Дополню
file_unmanaged_save_data($data, $destination = NULL, $replace = FILE_EXISTS_RENAME)
идентична file_save_data за исключением того, что не вызываются хуки и ничего о файле в таблицы базы не пишется.
У меня функция system_retrieve_file('http://img.yandex.net/i/www/logo.png', 'public://images'); не работает не один метод, компьютер долго думает и страница остается пустой....
Добавить комментарий