MODX REVO API Как сохранить изображение по URL?
Подскажите пожалуйста, как сохранить изображение при создании страниц через API?
Использую следующий код для создания страниц через API MODX, все создается порядок.
Среди всех переменных полей есть и ссылка на изображение, сохраняю его в TV поле создаваемого ресурса.
НО так же хочу его скачивать в папку на хостинге сразу. Как это сделать?
Попробовал с помощью runProcessor но не получилось.
Вот общий код цикла создания страниц. В $value['media_url'] находиться ссылка на изображение.
Хочу его сохранять в папку images в корне сайта. Не получается, помогите пожалуйста.
Использую следующий код для создания страниц через API MODX, все создается порядок.
Среди всех переменных полей есть и ссылка на изображение, сохраняю его в TV поле создаваемого ресурса.
НО так же хочу его скачивать в папку на хостинге сразу. Как это сделать?
Попробовал с помощью runProcessor но не получилось.
$data = [
'id' => $value['id'],
'file' => $value['media_url'],
];
$response = $modx->runProcessor('gallery/upload', $data, [
'processors_path' => MODX_CORE_PATH . '/images/',
]);Вот общий код цикла создания страниц. В $value['media_url'] находиться ссылка на изображение.
Хочу его сохранять в папку images в корне сайта. Не получается, помогите пожалуйста.
foreach($instPosts as $key => $post){
foreach($post as $key => $value){
////
$rss = $modx->newObject('modResource');
$rss->set('template', 1); // Назначаем ему нужный шаблон
$rss->set('isfolder', 1); // Указываем, что это не контейнер
$rss->set('published', 1); // Опубликован
$rss->set('createdon', time()); // Время создания
$rss->set('pagetitle', $value['username']); // Заголовок
$rss->set('content', $value['caption']); // Контент
$rss->set('alias', strtolower($value['username'].'-'.$value['id'])); // Псевдоним
$rss->set('parent', 2); // Родительский ресурс
$rss->save();
$nid = $rss->get('id'); //получаем ID созданного ресурса
$data = [
'id' => $value['id'],
'file' => $value['media_url'],
];
$response = $modx->runProcessor('gallery/upload', $data, [
'processors_path' => MODX_CORE_PATH . '/images/',
]);
$tvimg = $modx->getObject('modTemplateVar',array('name'=>'images')); // Указываем имя нужного TV
$tvimg->setValue($nid, $value['media_url']); // Записываем в TV значение
$tvimg->save();
unset($rss);
unset($tvimg); // Удаляем переменные
$modx->cacheManager->clearCache(); // Кэш тоже чистим
////
}
} Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Примерно вот такой код
И зачем нужен временный каталог? Почему нельзя сразу сохранить куда нужно и все?
upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/1200px-The_Earth_seen_from_Apollo_17.jpg
Как его положить в папку на хостинге? С применением MODX API
$url = $value['media_url'];
$path = './images/'.$value['id'].'.jpg';
file_put_contents($path, file_get_contents($url));
для ms2gallery