Как получить аватар из инстаграм? пробую так, но выдает null
$response = file_get_contents("https://www.instagram.com/buzova86/?__a=1");
$insta = json_decode($response, true);
return $insta['graphql']['user']['profile_pic_url'];
Используя метод file_get_contents()
вы получаете ВСЕГДА ответ в виде string
, в случае успеха, разумеется. Картинка в виде строки представляет бинарный код BLOB
, что вы и получаете. Можно воспользоваться методом imagecreatefromstring()
в библиотеке GD, которая по умолчанию идет с PHP. Можете проверить есть ли она у вас, на счет этого загуглите, ибо в 99% случаев она уже имеется.
Следующий код сохранит картинку с именем download.jpg
в корневую директорию:
<?php
$url = 'https://i.ytimg.com/vi/O8dx0V3F1sI/maxresdefault.jpg';
if($response = file_get_contents($url)) {
$img = imagecreatefromstring($response);
imagejpeg($img, 'download.jpg', 100);
}
imagejpeg()
принимает три параметра: resourse
- наш "ресурс", созданный с помощью $img = imagecreatefromstring($response);
, path
путь для сохранения нашей картинки, можете указать любой и quality
- качество сохраняемого изображения. Далее уже зависит от вас, как вы будете распоряжаться сохраненной картинкой :)
Тут прям напрашивается curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/buzova86/?__a=1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = json_decode(curl_exec($ch), 1);
return $data['graphql']['user']['profile_pic_url'];
Ещё один из вариантов - с передачей заголовка:
$response = file_get_contents("https://www.instagram.com/buzova86/?__a=1");
$insta = json_decode($response, true);
header('Content-type:png');
readfile($insta['graphql']['user']['profile_pic_url']);
Если понадобится сохранение в файл - используйте буферизацию.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как изменить в wordpress автора записи если пользователь состоит в группе editorКак отобразить у него это поле?
Сделать в цикле запись в HashMap строк из Сканера, пока пользователь не введет qКлючем записи будет текущая дата, значение - текст из сканера
Производственная необходимость, чтобы опционально была возможность блокировки выхода из нашего приложения в системный лончер, systemUI(запрет...