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

max74max

Новичок
Здравствуйте! Помогите, пожалуйста понять, что я делаю не так.
Есть код:
PHP:
    $url='https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222';
    $str = file_get_contents($url) ;
    file_put_contents(__DIR__ . '/message.txt', print_r($str, true));
В результате в файл message.txt сохраняется такой ответ:
JSON:
{"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:
    $url='https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222';
    $str = file_get_contents($url) ;
    $str = $str['result']['status']; // Новая добавленная строка
    file_put_contents(__DIR__ . '/message.txt', print_r($str, true));
Что я делаю не так? Файл пустой из-за синтаксической ошибки или проблема в другом?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Что я делаю не так? Файл пустой из-за синтаксической ошибки или проблема в другом?
Ну если тебе надо только часть ответа, то надо и брать ЧАСТЬ ответа, а не все подряд. Надо данные из JSON декодировать и выбрать нужный элемент.
 

WMix

герр M:)ller
Партнер клуба
Здравствуйте! Помогите, пожалуйста понять, что я делаю не так.
Есть код:
PHP:
    $url='https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222';
    $str = file_get_contents($url) ;
    file_put_contents(__DIR__ . '/message.txt', print_r($str, true));
В результате в файл message.txt сохраняется такой ответ:
JSON:
{"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:
    $url='https://api.telegram.org/bot123456789:QWERTY/getChatMember?chat_id=-111111&user_id=222222';
    $str = file_get_contents($url) ;
    $str = $str['result']['status']; // Новая добавленная строка
    file_put_contents(__DIR__ . '/message.txt', print_r($str, true));
Что я делаю не так? Файл пустой из-за синтаксической ошибки или проблема в другом?
 
Сверху