Данные не отображаются на API PHP - PullRequest
0 голосов
/ 29 января 2019

Я новичок в PHP и пытаюсь получить текст с помощью API.У меня проблема с моим кодом, потому что данные не отображаются, но сообщения об ошибках не появляются.Вот мой код:

$url3 = file_get_contents("http://lyric-api.herokuapp.com/api/find/". urlencode($artist)."/". urlencode($nm_track));
$json3 = json_decode($url3, true);
$lyrics = $json3['lyric'];

Пожалуйста, посмотрите код, я просто хочу знать, где ошибка?

1 Ответ

0 голосов
/ 29 января 2019

EDIT / UPDATE: если в исполнителе / ​​песне есть пробелы, вы должны использовать rawurlencode($artist). "/" . rawurlencode($nm_track), чтобы пробелы переводились в %20, а не +, как urlencode().

<?php
$artist='queen';
$nm_track='bohemian rhapsody';
echo rawurlencode($artist) . "/" . rawurlencode($nm_track);
$url3 = file_get_contents("http://lyric-api.herokuapp.com/api/find/". rawurlencode($artist). "/" . rawurlencode($nm_track));
$json3 = json_decode($url3, true);

$lyrics = $json3['lyric'];
echo $lyrics;

вывод: это настоящая жизнь?Это просто фантазия?...

Если вы также хотите сначала проверить ошибки (данные об исполнителе / ​​песне недоступны), вы можете проверить элемент $json3['err'].

...