За последние 24 часа нас посетили 37803 программиста и 7849 роботов. Сейчас ищут 1752 программиста ...

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

Тема в разделе "PHP для новичков", создана пользователем max74max, 19 ноя 2022.

  1. max74max

    max74max Активный пользователь

    С нами с:
    2 дек 2020
    Сообщения:
    26
    Симпатии:
    1
    Здравствуйте! Помогите, пожалуйста понять, что я делаю не так.
    Есть код:
    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));
    Что я делаю не так? Файл пустой из-за синтаксической ошибки или проблема в другом?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Проблема в понимании, что делает print_r()

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

    max74max Активный пользователь

    С нами с:
    2 дек 2020
    Сообщения:
    26
    Симпатии:
    1
    Спасибо за помощь. С json_decode всё получилось