Oleksandr Miroshnichenko
Участник
- Регистрация
- 30 Июл 2021
- Сообщения
- 40
- Реакции
- 63
Всем привет, нужна помощь, есть киносайт, но на некоторых фильмах отсутствуют постеры.
Задача: по крону, с помощью php скрипта искать новости у которых не загружен постер и по кинопоиск ид (берется с дополнительного поля этой же новости) искать через API kinopoiskapiunofficial и загружать постер к фильму в дополнительное поле с типом загружаемое изображение.
Что я сделал: скрипт ищущий в бд фильмы у которых отсутствует постер, ищет по кинопоиск ид API kinopoiskapiunofficial постер к фильму и загружает его в папку с скриптом.
Нужна помощь, я не понимаю как правильно реализовать загрузку картинки в дополнительно поле с типом загружаемое изображение.
Когда допишу скрипт, выложу его в этом топике.
Задача: по крону, с помощью php скрипта искать новости у которых не загружен постер и по кинопоиск ид (берется с дополнительного поля этой же новости) искать через API kinopoiskapiunofficial и загружать постер к фильму в дополнительное поле с типом загружаемое изображение.
Что я сделал: скрипт ищущий в бд фильмы у которых отсутствует постер, ищет по кинопоиск ид API kinopoiskapiunofficial постер к фильму и загружает его в папку с скриптом.
Нужна помощь, я не понимаю как правильно реализовать загрузку картинки в дополнительно поле с типом загружаемое изображение.
PHP:
<?
error_reporting ( E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE );
define('DATALIFEENGINE', true);
define('ENGINE_DIR', $_SERVER['DOCUMENT_ROOT'] . '/engine');
require_once ENGINE_DIR.'/data/config.php';
require_once ENGINE_DIR.'/classes/mysql.php';
require_once ENGINE_DIR.'/data/dbconfig.php';
header('Content-type: text/html; charset=' . $config['charset']);
$db->query("SELECT id, xfields FROM `" . PREFIX . "_post` WHERE xfields NOT LIKE '%poster%' LIMIT 1");
if($db->query_id->num_rows > 0){
while($row = $db->get_row()){
$xfs = explode('||', $row['xfields']);
for($i = 0; $i < count($xfs); ++$i) {
$array = explode('|', $xfs[$i]);
$xfields[$array[0]] = $array[1];
}
//Получение постера
$headers = [];
$headers[] = "X-API-KEY: 2fe4f194-fc25-44b5-b903-34dbb5eb48f5";
$headers[] = 'Content-Type: application/json';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_URL, 'https://kinopoiskapiunofficial.tech/api/v2.2/films/' . $xfields['kinopoisk_id'] . '/images?type=POSTER&page=1');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
$resp = json_decode($resp, true);
$poster = __DIR__ . '/last_poster.jpg';
copy($resp['items']['0']['previewUrl'], $poster);
}
$db->free();
}
Когда допишу скрипт, выложу его в этом топике.
Последнее редактирование: