За многолетнюю практику работы с Drupal, я накопил целую библиотеку вспомогательных функций. Функция, описываемая в этой статье, используется для копирования изображений из внешнего источника в один из каталогов сайта с пользовательскими файлами. Необходимость в ней возникает, когда вы копируете статьи с картинками из внешних источников на свой сайт — переносите материалы или копи-пастите новости :).
Я убрал код функции копирования картинки в отдельную функцию myLib::local_copy($url) и покажу её в примере, который ужё показывал для Drupal 7 — для hook_node_presave($node), чтобы было понятно как её использовать.
Функция local_copy($url) вернет url файла в случаях, если файл уже есть или был удачно скопирован. Иначе функция вернет FALSE. URL не будет содержать имени домена, например: