9

私は themoviedb JSON API を使用するのが初めてで、現在、映画のメイン ポスターを表示するという簡単なことをしようとしています。API キーを取得しました。使用しているコード/レスポンスは次のとおりです。

$ca = curl_init();
curl_setopt($ca, CURLOPT_URL, "http://api.themoviedb.org/3/configuration?api_key=MYAPIKEY");
curl_setopt($ca, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ca, CURLOPT_HEADER, FALSE);
curl_setopt($ca, CURLOPT_HTTPHEADER, array("Accept: application/json"));
$response = curl_exec($ca);
curl_close($ca);
//var_dump($response);
$config = json_decode($response, true);
//print_r($config);
//$base = $config['base_url'];
//echo($base);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://api.themoviedb.org/3/search/movie?query=Monsters+University&api_key=MYAPIKEY");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json"));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
//print_r($result);
//var_dump($response);
echo("<img src='" . $config[0]['base_url'] . $config[0]['poster_sizes'][2] . $result[0]['poster_path'] . "'/>");

私の唯一の質問は、ポスターを表示するためにタグをエコーし​​ようとしているということですが、正しいコードが何であるかはわかりません。

$responsePHP = json_decode($response);
echo("<img src='" . $responsePHP['poster_path'] . "'/>");

どんな助けでも大歓迎です!

編集:構成配列を追加しましたが、エコーは何も返しません。両方の JSON が正常に出力されprint_r、動作しているように見えjson_decodeますが、配列から値を引き出せない理由がわかりません

4

3 に答える 3

0

あなたは近くにいます。映画のクエリ ( http://docs.themoviedb.apiary.io/#configuration ) で行ったのと同じように、構成から base_url を取得し、base_url を持っているものに追加する必要があります。次に、ポスターまたは背景のサイズも必要です。 . 次のようになります。

echo("<img src='" . $config['base_url'] . $config['poster_sizes'][2] . $responsePHP['poster_path'] . "'/>");

したがって、出力は次のようになります

于 2013-08-16T19:10:21.337 に答える
0

以下は、ポスターのパスを出力します。それがあなたの望みだと思います。

$responsePHP = json_decode($response);
$movies = $responsePHP->results;
$firstMovie = $movies[0];
echo $firstMovie->poster_path;

あなたの質問が base_url を取得する方法に関するものである場合は、vaderung の回答を見てください。

于 2013-08-16T19:19:47.220 に答える