Получить аватар из инсты php

114
30 июня 2021, 13:50

Как получить аватар из инстаграм? пробую так, но выдает null

$response = file_get_contents("https://www.instagram.com/buzova86/?__a=1");
$insta = json_decode($response, true);
return $insta['graphql']['user']['profile_pic_url'];
Answer 1

Используя метод 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 - качество сохраняемого изображения. Далее уже зависит от вас, как вы будете распоряжаться сохраненной картинкой :)

Answer 2

Тут прям напрашивается 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'];
Answer 3

Ещё один из вариантов - с передачей заголовка:

$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']);

Если понадобится сохранение в файл - используйте буферизацию.

READ ALSO
wordpress изменить автора записи

wordpress изменить автора записи

Как изменить в wordpress автора записи если пользователь состоит в группе editorКак отобразить у него это поле?

94
В цикле запись HashMap строк из Сканера

В цикле запись HashMap строк из Сканера

Сделать в цикле запись в HashMap строк из Сканера, пока пользователь не введет qКлючем записи будет текущая дата, значение - текст из сканера

127
Блокировка выхода из приложения

Блокировка выхода из приложения

Производственная необходимость, чтобы опционально была возможность блокировки выхода из нашего приложения в системный лончер, systemUI(запрет...

112