Сохранение данных в файл

Здравствуйте! Помогите, пожалуйста понять, что я делаю не так.
Есть код:

PHP:
  1.     $url=‘https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222’;
  2.     $str = file_get_contents($url) ;
  3.     file_put_contents(__DIR__ . ‘/message.txt’, print_r($str, true));

В результате в файл message.txt сохраняется такой ответ:

Код (Text):
  1. {«result»:{«user»:{«id»:111111,»is_bot»:false,»first_name»:»Ivan»,»last_name»:»Ivanov»,»username»:»ivan_ivanov»,»language_code»:»ru»},»status»:»member»}}

Но мне нужно чтобы сохранялось только значения status
То есть в файле должно быть только слово member

Если добавляю $str = $str[‘result’][‘status’]; перед file_put_contents то вообще ничего не сохраняет. Файл пустой.

Получается так:

PHP:
  1.     $url=‘https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222’;
  2.     $str = file_get_contents($url) ;
  3.     $str = $str[‘result’][‘status’]; // Новая добавленная строка
  4.     file_put_contents(__DIR__ . ‘/message.txt’, print_r($str, true));

Что я делаю не так? Файл пустой из-за синтаксической ошибки или проблема в другом?

 

Проблема в понимании, что делает print_r()

Ответ от АПИ вы получаете в json формате.
Вот его сначала и разберите с помощью json_decode(), а потом берете что нужно и записываете в файл

 

Спасибо за помощь. С json_decode всё получилось

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *